A flexible object that can store one of many types with built-in serialization.
More...
Public Types |
| enum | VariantType {
vt_bool = 0,
vt_int,
vt_double,
vt_string,
vt_int64,
vt_uint64,
vt_uint32,
vt_rawdata
} |
typedef boost::shared_ptr
< VariantField > | SharedPtr |
typedef boost::variant< bool,
int, double, std::string,
int64_bt, uint64_bt, uint32_bt,
RawData::SharedPtr > | VariantImpl |
Public Member Functions |
| | VariantField (int a_value) |
| | Ctor.
|
|
| VariantField (double a_value) |
|
| VariantField (bool a_value) |
|
| VariantField (const std::string &a_value) |
|
| VariantField (const char *a_value) |
|
| VariantField (int64_bt a_value) |
|
| VariantField (uint64_bt a_value) |
|
| VariantField (uint32_bt a_value) |
|
| VariantField (const RawData::SharedPtr &a_data) |
|
| VariantField (const VariantField &vr) |
| | ~VariantField () |
| | Dtor.
|
| void | toString (std::ostream &out) const |
| | This serializes a given Variant into the ostream.
|
| void | toHTML (std::ostream &out) const |
| | This serializes a given Variant into a HTML formatted string.
|
| int | getInt () |
| | Returns the int value of the variant.
|
| bool | getBool () |
| | Returns the bool value of the variant.
|
| double | getDouble () |
| | Returns the double value of the variant.
|
| uint32_bt | getUInt32 () |
| | Returns the uint32 value of the variant.
|
| int64_bt | getInt64 () |
| | Returns the Int64 value of the variant.
|
| uint64_bt | getUInt64 () |
| | Returns the UInt64 value of the variant.
|
| std::string | getString () |
| | Returns the string value of the variant.
|
| RawData::SharedPtr & | getRawData () |
| | Returns the RawData value of the variant.
|
| const VariantImpl & | getImpl () const |
| | Returns the actual variant value.
|
| VariantField & | operator= (const VariantField &rhs) |
| | Assignment operator for variant field.
|
| uint64_bt | getSize () |
| | Returns the actual variant size.
|
| bool | write (RawData::SharedPtr &a_pRaw) |
| | Writes this variant into the binary buffer.
|
| bool | read (RawData::SharedPtr &a_pRaw) |
| | Reads this variant from binary buffer.
|
| bool | isEmpty () const |
| | Returns whether this variant field has been initialized.
|
A flexible object that can store one of many types with built-in serialization.
VariantField is simply a boost::variant which can hold a variety of primitive and user defined data types.
This can be automatically serialized to binary and xml