Public Types | Public Member Functions
Tonido::Data::VariantField Class Reference

A flexible object that can store one of many types with built-in serialization. More...

List of all members.

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.
VariantFieldoperator= (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.

Detailed Description

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


Constructor & Destructor Documentation

Tonido::Data::VariantField::VariantField ( int  a_value)

Ctor.

Details if Needed...

Tonido::Data::VariantField::~VariantField ( )

Dtor.

Details if Needed...


Member Function Documentation

bool Tonido::Data::VariantField::getBool ( )

Returns the bool value of the variant.

Parameters:
[in]none
Returns:
variant converted to bool
double Tonido::Data::VariantField::getDouble ( )

Returns the double value of the variant.

Parameters:
[in]none
Returns:
variant converted to double
const VariantImpl& Tonido::Data::VariantField::getImpl ( ) const

Returns the actual variant value.

Parameters:
[in]none
Returns:
variant
int Tonido::Data::VariantField::getInt ( )

Returns the int value of the variant.

Parameters:
[in]none
Returns:
variant converted to int
int64_bt Tonido::Data::VariantField::getInt64 ( )

Returns the Int64 value of the variant.

Parameters:
[in]none
Returns:
variant converted to Int64
RawData::SharedPtr & Tonido::Data::VariantField::getRawData ( )

Returns the RawData value of the variant.

Parameters:
[in]none
Returns:
variant converted to RawData
uint64_bt Tonido::Data::VariantField::getSize ( )

Returns the actual variant size.

Parameters:
[in]sizeof the variant
Returns:
variant
std::string Tonido::Data::VariantField::getString ( )

Returns the string value of the variant.

Parameters:
[in]none
Returns:
variant converted to string
uint32_bt Tonido::Data::VariantField::getUInt32 ( )

Returns the uint32 value of the variant.

Parameters:
[in]none
Returns:
variant converted to int
uint64_bt Tonido::Data::VariantField::getUInt64 ( )

Returns the UInt64 value of the variant.

Parameters:
[in]none
Returns:
variant converted to UInt64
bool Tonido::Data::VariantField::isEmpty ( ) const

Returns whether this variant field has been initialized.

Parameters:
[in]none
Returns:
true if the variant field is empty , false otherwise
VariantField& Tonido::Data::VariantField::operator= ( const VariantField rhs)

Assignment operator for variant field.

Parameters:
[in]none
Returns:
variant field
bool Tonido::Data::VariantField::read ( RawData::SharedPtr &  a_pRaw)

Reads this variant from binary buffer.

Parameters:
[in]none
Returns:
variant
void Tonido::Data::VariantField::toHTML ( std::ostream &  out) const

This serializes a given Variant into a HTML formatted string.

Parameters:
[in]outstd::ostream to write the Variant into
Returns:
none
void Tonido::Data::VariantField::toString ( std::ostream &  out) const

This serializes a given Variant into the ostream.

Parameters:
[in]outstd::ostream to write the Variant into
Returns:
none
bool Tonido::Data::VariantField::write ( RawData::SharedPtr &  a_pRaw)

Writes this variant into the binary buffer.

Parameters:
[in]none
Returns:
variant

Generated on Wed Oct 12 2011 21:46:53. © CodeLathe LLC 2007-2011. All Rights Reserved.