libbio
Loading...
Searching...
No Matches
physical/symmetry/BaseData.h
Go to the documentation of this file.
1/*
2 * This file is a part of the Biology project by eons LLC.
3 * Biology (aka Develop Biology) is a framework for approaching software
4 * development from a natural sciences perspective.
5 *
6 * Copyright (C) 2026 Séon O'Shannon & eons LLC
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as
10 * published by the Free Software Foundation, either version 3 of the
11 * License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
24#include "bio/common/Bytes.h"
29
30//@formatter:off
31#if BIO_CPP_VERSION < 11
32 #include <stdint.h>
33#else
34 #include <cstdint>
35#endif
36//@formatter:on
37
38namespace bio {
39namespace physical {
40namespace base_data {
41
58// --- Kind checks ---------------------------------------------------------
59
60bool IsNull(const Symmetry& symmetry);
61bool IsBool(const Symmetry& symmetry);
62bool IsSignedInt(const Symmetry& symmetry);
64bool IsFloat32(const Symmetry& symmetry);
65bool IsFloat64(const Symmetry& symmetry);
66bool IsText(const Symmetry& symmetry);
67bool IsBytes(const Symmetry& symmetry);
68bool IsSimple(const Symmetry& symmetry);
69
74
75// --- Setters -------------------------------------------------------------
76
82
83void SetBool(Symmetry& symmetry, bool value);
86void SetFloat32(Symmetry& symmetry, float value);
87void SetFloat64(Symmetry& symmetry, double value);
88void SetText(Symmetry& symmetry, const String& value);
91
92// --- Getters -------------------------------------------------------------
93
99bool TryGetBool(const Symmetry& symmetry, bool& out);
102bool TryGetFloat32(const Symmetry& symmetry, float& out);
103bool TryGetFloat64(const Symmetry& symmetry, double& out);
104bool TryGetText(const Symmetry& symmetry, String& out);
107
108} //base_data namespace
109} //physical namespace
110} //bio namespace
double value
Definition Potential.cpp:41
Definition Bytes.h:73
Definition Pointer.h:115
Definition String.h:55
Definition physical/symmetry/Symmetry.h:41
void SetNull(Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:132
bool TryGetSimple(const Symmetry &symmetry, uint8_t &out)
Definition physical/symmetry/BaseData.cpp:227
bool IsBytes(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:107
void SetBytes(Symmetry &symmetry, const Bytes &value)
void SetBool(Symmetry &symmetry, bool value)
Definition physical/symmetry/BaseData.cpp:138
bool TryGetBytes(const Symmetry &symmetry, Bytes &out)
void SetSimple(Symmetry &symmetry, uint8_t value)
Definition physical/symmetry/BaseData.cpp:184
bool IsSimple(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:112
bool TryGetFloat32(const Symmetry &symmetry, float &out)
Definition physical/symmetry/BaseData.cpp:207
bool TryGetUnsignedInt(const Symmetry &symmetry, uint64_t &out)
Definition physical/symmetry/BaseData.cpp:202
bool TryGetSignedInt(const Symmetry &symmetry, int64_t &out)
Definition physical/symmetry/BaseData.cpp:197
bool IsFloat32(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:92
bool IsBaseDataScalar(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:117
void SetSignedInt(Symmetry &symmetry, int64_t value)
Definition physical/symmetry/BaseData.cpp:144
bool IsUnsignedInt(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:87
bool TryGetText(const Symmetry &symmetry, String &out)
Definition physical/symmetry/BaseData.cpp:217
void SetUnsignedInt(Symmetry &symmetry, uint64_t value)
Definition physical/symmetry/BaseData.cpp:150
void SetText(Symmetry &symmetry, const String &value)
Definition physical/symmetry/BaseData.cpp:168
bool IsSignedInt(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:82
bool IsNull(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:67
void SetFloat64(Symmetry &symmetry, double value)
Definition physical/symmetry/BaseData.cpp:162
bool TryGetFloat64(const Symmetry &symmetry, double &out)
Definition physical/symmetry/BaseData.cpp:212
void SetFloat32(Symmetry &symmetry, float value)
Definition physical/symmetry/BaseData.cpp:156
bool IsText(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:102
bool IsBool(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:77
bool IsFloat64(const Symmetry &symmetry)
Definition physical/symmetry/BaseData.cpp:97
bool TryGetBool(const Symmetry &symmetry, bool &out)
Definition physical/symmetry/BaseData.cpp:192
Definition FinalCell.h:29