strusBase
0.17
|
Atomic type that can hold numeric values of different type. More...
#include <numericVariant.hpp>
Classes | |
class | String |
Public Types | |
enum | Type { Null, Int, UInt, Float } |
Enumeration of all types an numeric variant can have. More... | |
typedef int64_t | IntType |
typedef uint64_t | UIntType |
typedef double | FloatType |
Public Member Functions | |
NumericVariant (int64_t value) | |
Constructor from a signed integer. More... | |
NumericVariant (uint64_t value) | |
Constructor from an unsigned integer. More... | |
NumericVariant (double value) | |
Constructor from a single precision floating point number. More... | |
NumericVariant (const char *val_) | |
Constructor from a string. More... | |
NumericVariant () | |
Default constructor (as undefined value) More... | |
NumericVariant (const NumericVariant &o) | |
Copy constructor. More... | |
void | init () |
String | tostring (int precision=-1) const |
bool | initFromString (const char *src) |
Initialize numeric variant parsed from a Ascii source string. More... | |
bool | defined () const |
Find out if this value is defined. More... | |
template<typename TYPE > | |
TYPE | cast () const |
Template for casting to a defined value type. More... | |
operator double () const | |
Cast to a single precision floating point number. More... | |
operator int64_t () const | |
Cast to a signed integer. More... | |
operator uint64_t () const | |
Cast to an unsigned integer. More... | |
int64_t | toint () const |
Cast to a signed integer. More... | |
uint64_t | touint () const |
Cast to an unsigned integer. More... | |
double | tofloat () const |
Cast to an unsigned integer. More... | |
bool | operator== (const NumericVariant &o) const |
Test for equality. More... | |
bool | operator!= (const NumericVariant &o) const |
Test for inequality. More... | |
bool | operator>= (const NumericVariant &o) const |
Test for greater or equal. More... | |
bool | operator> (const NumericVariant &o) const |
Test for greater. More... | |
bool | operator<= (const NumericVariant &o) const |
Test for smaller or equal. More... | |
bool | operator< (const NumericVariant &o) const |
Test for smaller. More... | |
bool | isequal (const NumericVariant &o) const |
Test for equality. More... | |
int | compare (const NumericVariant &o) const |
Comparison of numbers. More... | |
NumericVariant & | operator= (int64_t value) |
Assignment operator for a singed integer. More... | |
NumericVariant & | operator= (uint64_t value) |
Assignment operator for an unsinged integer. More... | |
NumericVariant & | operator= (double value) |
Assignment operator for a single precision floating point number. More... | |
NumericVariant & | operator= (const NumericVariant &o) |
Assignment operator. More... | |
Static Public Member Functions | |
static NumericVariant | asint (int64_t val) |
static NumericVariant | asuint (uint64_t val) |
static NumericVariant | asdouble (double val) |
static const char * | typeName (Type type) |
Get the name of a type as string. More... | |
Public Attributes | |
Type | type |
Type of this numeric variant. More... | |
union { | |
int64_t Int | |
value in case of a signed integer More... | |
uint64_t UInt | |
value in case of an unsigned integer More... | |
double Float | |
value in case of a floating point number More... | |
} | variant |
Value of this numeric variant. More... | |
Atomic type that can hold numeric values of different type.
typedef double strus::NumericVariant::FloatType |
typedef int64_t strus::NumericVariant::IntType |
typedef uint64_t strus::NumericVariant::UIntType |
|
inline |
Constructor from a signed integer.
[in] | value | value to assign to this numeric variant |
|
inline |
Constructor from an unsigned integer.
[in] | value | value to assign to this numeric variant |
|
inline |
Constructor from a single precision floating point number.
[in] | value | value to assign to this numeric variant |
|
inline |
Constructor from a string.
[in] | value | value to parse and assign to this numeric variant |
|
inline |
Default constructor (as undefined value)
|
inline |
Copy constructor.
[in] | o | numeric variant to copy |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
Template for casting to a defined value type.
TYPE | what type to cast this numeric variant to |
int strus::NumericVariant::compare | ( | const NumericVariant & | o | ) | const |
Comparison of numbers.
[in] | o | numeric variant to compare |
|
inline |
Find out if this value is defined.
|
inline |
bool strus::NumericVariant::initFromString | ( | const char * | src | ) |
Initialize numeric variant parsed from a Ascii source string.
[in] | src | source string to parse |
bool strus::NumericVariant::isequal | ( | const NumericVariant & | o | ) | const |
Test for equality.
[in] | o | numeric variant to compare |
|
inline |
Cast to a single precision floating point number.
|
inline |
Cast to a signed integer.
|
inline |
Cast to an unsigned integer.
|
inline |
Test for inequality.
[in] | o | numeric variant to compare |
|
inline |
Test for smaller.
[in] | o | numeric variant to compare |
|
inline |
Test for smaller or equal.
[in] | o | numeric variant to compare |
|
inline |
Assignment operator for a singed integer.
[in] | value | value to assign to this numeric variant |
|
inline |
Assignment operator for an unsinged integer.
[in] | value | value to assign to this numeric variant |
|
inline |
Assignment operator for a single precision floating point number.
[in] | value | value to assign to this numeric variant |
|
inline |
Assignment operator.
[in] | o | numeric variant to copy |
|
inline |
Test for equality.
[in] | o | numeric variant to compare |
|
inline |
Test for greater.
[in] | o | numeric variant to compare |
|
inline |
Test for greater or equal.
[in] | o | numeric variant to compare |
|
inline |
Cast to an unsigned integer.
|
inline |
Cast to a signed integer.
|
inline |
|
inline |
Cast to an unsigned integer.
|
static |
Get the name of a type as string.
double strus::NumericVariant::Float |
value in case of a floating point number
int64_t strus::NumericVariant::Int |
value in case of a signed integer
Type strus::NumericVariant::type |
Type of this numeric variant.
uint64_t strus::NumericVariant::UInt |
value in case of an unsigned integer
union { ... } strus::NumericVariant::variant |
Value of this numeric variant.