9 #ifndef anna_core_util_Variable_hpp 10 #define anna_core_util_Variable_hpp 54 Variable(
const char* name, std::string& value) :
59 a_value.a_string = &value;
75 a_value.a_integer = &value;
90 a_value.a_longInteger = &value;
105 a_value.a_boolean = &value;
119 a_value.a_dataBlock = &value;
134 a_value.a_float = &value;
149 a_value.a_double = &value;
163 a_value.a_custom = value;
189 const char*
getName()
const {
return a_name.c_str(); }
252 return a_value.a_custom;
260 return a_value.a_custom;
268 a_isNull = (value == NULL);
269 a_value.a_custom = value;
300 float getFloat()
const {
return *a_value.a_float; }
316 void setValue(
const char* value) noexcept(
false);
334 void setValue(
const int value) noexcept(
false);
352 void setValue(
const bool value) noexcept(
false);
370 void setValue(
const float value) noexcept(
false) ;
379 void setValue(
const double value) noexcept(
false) ;
391 void setInteger(
const int value) { *a_value.a_integer = value; a_isNull =
false; }
397 void setLong(
const S64 value) { *a_value.a_longInteger = value; a_isNull =
false; }
403 void setBoolean(
const bool value) { *a_value.a_boolean = value; a_isNull =
false; }
415 void setFloat(
const float value) { *a_value.a_float = value; a_isNull =
false; }
421 void setDouble(
const double value) { *a_value.a_double = value; a_isNull =
false; }
463 const bool a_isOwner;
485 void verifyIsNotNull(
const char* file,
const int lineno)
const noexcept(
false);
486 void verifyMatchSomeType(
const Type::_v firstType,
const Type::_v secondType,
const char* file,
const int lineno)
const noexcept(
false);
487 void verifyMatchType(
const Type::_v,
const char* file,
const int lineno)
const noexcept(
false);
Definition: Variable.hpp:42
bool * getNullIndicator()
Definition: Variable.hpp:457
void setCharPointer(const char *value) noexcept(false)
Variable(const char *name, S64 &value)
Definition: Variable.hpp:84
Variable(const char *name, std::string &value)
Definition: Variable.hpp:54
Variable(const char *name, double &value)
Definition: Variable.hpp:143
Variable(const char *name, bool &value)
Definition: Variable.hpp:99
Definition: Variable.hpp:34
Definition: Variable.hpp:30
bool * a_boolean
Definition: Variable.hpp:469
double getDoubleValue() const noexcept(false)
Definition: Variable.hpp:32
const DataBlock & getDataBlock() const
Definition: Variable.hpp:294
bool getBoolean() const
Definition: Variable.hpp:288
#define anna_declare_enum(name)
Definition: define.autoenum.hpp:48
Definition: Variable.hpp:41
Definition: Variable.hpp:40
Variable(const char *name, int &value)
Definition: Variable.hpp:69
double * a_double
Definition: Variable.hpp:472
double theDouble
Definition: Variable.hpp:480
bool getBooleanValue() const noexcept(false)
int64_t S64
Definition: defines.hpp:84
const DataBlock & getDataBlockValue() const noexcept(false)
Variable(const char *name, DataBlock &value)
Definition: Variable.hpp:114
Definition: Variable.hpp:35
void setCustom(void *value) noexcept(false)
Definition: Variable.hpp:266
void setBoolean(const bool value)
Definition: Variable.hpp:403
std::string * a_string
Definition: Variable.hpp:466
bool boolean
Definition: Variable.hpp:478
void setDouble(const double value)
Definition: Variable.hpp:421
void * getCustom() noexcept(false)
Definition: Variable.hpp:250
Definition: Variable.hpp:37
Variable(const char *name, void *value)
Definition: Variable.hpp:158
double getDouble() const
Definition: Variable.hpp:306
const char * getName() const
Definition: Variable.hpp:189
float * a_float
Definition: Variable.hpp:471
void setDataBlock(const DataBlock &value)
Definition: Variable.hpp:409
float getFloat() const
Definition: Variable.hpp:300
virtual String asString() const
Definition: String.hpp:25
const void * getCustom() const noexcept(false)
Definition: Variable.hpp:258
S64 * a_longInteger
Definition: Variable.hpp:468
void * a_custom
Definition: Variable.hpp:473
Variable(const char *name, float &value)
Definition: Variable.hpp:128
float theFloat
Definition: Variable.hpp:479
void setFloat(const float value)
Definition: Variable.hpp:415
Definition: Variable.hpp:38
_v
Definition: Variable.hpp:31
Definition: Variable.hpp:33
bool isEqual(const Variable &right) const
Definition: Variable.hpp:427
S64 longInteger
Definition: Variable.hpp:477
void setInteger(const int value)
Definition: Variable.hpp:391
int getInteger() const
Definition: Variable.hpp:276
DataBlock * a_dataBlock
Definition: Variable.hpp:470
void setValue(const char *value) noexcept(false)
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
bool isNull() const
Definition: Variable.hpp:195
Type::_v getType() const
Definition: Variable.hpp:183
void setNull(const bool isNull=true)
Definition: Variable.hpp:385
S64 getInteger64() const
Definition: Variable.hpp:282
int integer
Definition: Variable.hpp:476
Definition: Variable.hpp:36
Definition: Variable.hpp:25
Definition: DataBlock.hpp:24
void setLong(const S64 value)
Definition: Variable.hpp:397
int getIntegerValue() const noexcept(false)
void * getReference() const
const char * getStringValue() const noexcept(false)
Definition: Variable.hpp:39
float getFloatValue() const noexcept(false)
S64 getInteger64Value() const noexcept(false)
int * a_integer
Definition: Variable.hpp:467