Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
variant_topic_tools::CollectionVariant Class Reference

Collection variant type. More...

#include <CollectionVariant.h>

Inheritance diagram for variant_topic_tools::CollectionVariant:
Inheritance graph
[legend]

Classes

class  Value
 Collection variant value (abstract base) More...
 

Public Member Functions

 CollectionVariant ()
 Default constructor. More...
 
 CollectionVariant (const CollectionVariant &src)
 Copy constructor. More...
 
 CollectionVariant (const Variant &src)
 Copy constructor (overloaded version taking a variant) More...
 
Variant getMember (int index) const
 Retrieve a member of the collection by index. More...
 
Variant getMember (const std::string &name) const
 Retrieve a member of the collection by name. More...
 
size_t getNumMembers () const
 Retrieve the number of members of the collection. More...
 
template<typename T >
T & getValue (int index)
 Retrieve a member value of the collection by index (non-const version) More...
 
template<typename T >
const T & getValue (int index) const
 Retrieve a member value of the collection by index (const version) More...
 
template<typename T >
T & getValue (const std::string &name)
 Retrieve a member value of the collection by name (non-const version) More...
 
template<typename T >
const T & getValue (const std::string &name) const
 Retrieve a member value of the collection by name (const version) More...
 
bool hasMember (const std::string &name) const
 True, if the collection contains the member with the specified name. More...
 
bool isEmpty () const
 True, if the collection is empty. More...
 
Variant operator[] (int index) const
 Operator for retrieving the members of the collection by index. More...
 
Variant operator[] (const char *name) const
 Operator for retrieving the members of the collection by name (overloaded version taking a char array name) More...
 
void setMember (int index, const Variant &member)
 Set a member of the collection by index. More...
 
void setMember (const std::string &name, const Variant &member)
 Set a member of the collection by name. More...
 
 ~CollectionVariant ()
 Destructor. More...
 
- Public Member Functions inherited from variant_topic_tools::Variant
ArrayVariant asArray () const
 Retrieve this variant as array. More...
 
BuiltinVariant asBuiltin () const
 Retrieve this variant as builtin. More...
 
CollectionVariant asCollection () const
 Retrieve this variant as collection. More...
 
MessageVariant asMessage () const
 Retrieve this variant as message. More...
 
void clear ()
 Clear the variant. More...
 
Serializer createSerializer () const
 Create a serializer for this variant. More...
 
const DataTypegetType () const
 Retrieve the data type of this variant. More...
 
template<typename T >
type_traits::DataType< T >::ValueType & getValue ()
 Retrieve the variant's value (non-const version) More...
 
template<typename T >
const type_traits::DataType< T >::ValueType & getValue () const
 Retrieve the variant's value (const version) More...
 
const std::type_info & getValueTypeInfo () const
 Retrieve the value type information of this variant. More...
 
bool hasType () const
 True, if the variant has a type. More...
 
bool isArray () const
 True, if this variant represents an array. More...
 
bool isBuiltin () const
 True, if this variant represents a built-in. More...
 
bool isCollection () const
 True, if this variant represents a collection. More...
 
bool isEmpty () const
 True, if the variant is empty, i.e., does not have a value assigned. More...
 
bool isMessage () const
 True, if this variant represents a message. More...
 
template<typename T >
 operator T () const
 Conversion operator. More...
 
template<typename T >
bool operator!= (const T &value) const
 True, if this variant's value does not equal another value. More...
 
template<typename T >
Variantoperator= (const T &src)
 Assignment operator. More...
 
template<typename T >
bool operator== (const T &value) const
 True, if this variant's value equals another value. More...
 
void read (std::istream &stream)
 Read the variant from a stream. More...
 
template<typename T >
void setValue (const T &value)
 Set the variant's value. More...
 
 Variant ()
 Default constructor. More...
 
template<typename T >
 Variant (const T &src)
 Copy constructor. More...
 
void write (std::ostream &stream) const
 Write the variant to a stream. More...
 
 ~Variant ()
 Destructor. More...
 

Protected Member Functions

 CollectionVariant (const DataType &type)
 Constructor (overloaded version taking a data type) More...
 
- Protected Member Functions inherited from variant_topic_tools::Variant
 Variant (const DataType &type)
 Constructor (overloaded version taking a data type) More...
 

Friends

class Variant
 

Additional Inherited Members

- Protected Types inherited from variant_topic_tools::Variant
typedef boost::shared_ptr< ValueValuePtr
 Declaration of the variant value pointer type. More...
 
typedef boost::weak_ptr< ValueValueWPtr
 Declaration of the variant value weak pointer type. More...
 
- Static Protected Member Functions inherited from variant_topic_tools::Variant
template<typename T >
static void assign (Variant &dst, const T &src, typename boost::enable_if< boost::is_base_of< Variant, T > >::type *=0)
 Assign a variant (overloaded version taking a variant) More...
 
template<typename T >
static void assign (Variant &dst, const T &src, typename boost::disable_if< boost::is_base_of< Variant, T > >::type *=0)
 Assign a variant (overloaded version taking a variant value) More...
 
template<typename T >
static bool isEqual (const Variant &variant, const T &value, typename boost::enable_if< boost::is_base_of< Variant, T > >::type *=0)
 True, if a variant's value equals another value (overloaded version taking a variant) More...
 
template<typename T >
static bool isEqual (const Variant &variant, const T &value, typename boost::disable_if< boost::is_base_of< Variant, T > >::type *=0)
 True, if a variant's value equals another value (overloaded version taking a variant value) More...
 
template<typename T >
static void set (Variant &variant, const Pointer< typename type_traits::DataType< T >::ValueType > &value)
 Set a variant's value pointer. More...
 
template<typename T >
static void setValue (Variant &dst, const T &value, typename boost::enable_if< boost::is_base_of< Variant, T > >::type *=0)
 Set a variant's value (overloaded version taking a variant) More...
 
template<typename T >
static void setValue (Variant &dst, const T &value, typename boost::disable_if< boost::is_base_of< Variant, T > >::type *=0)
 Set a variant's value (overloaded version taking a variant value) More...
 
- Protected Attributes inherited from variant_topic_tools::Variant
DataType type
 The variant's data type. More...
 
ValuePtr value
 The variant's data value. More...
 

Detailed Description

Collection variant type.

Definition at line 31 of file CollectionVariant.h.

Constructor & Destructor Documentation

variant_topic_tools::CollectionVariant::CollectionVariant ( )

Default constructor.

Definition at line 30 of file CollectionVariant.cpp.

variant_topic_tools::CollectionVariant::CollectionVariant ( const CollectionVariant src)

Copy constructor.

Definition at line 37 of file CollectionVariant.cpp.

variant_topic_tools::CollectionVariant::CollectionVariant ( const Variant src)

Copy constructor (overloaded version taking a variant)

Definition at line 41 of file CollectionVariant.cpp.

variant_topic_tools::CollectionVariant::~CollectionVariant ( )

Destructor.

Definition at line 47 of file CollectionVariant.cpp.

variant_topic_tools::CollectionVariant::CollectionVariant ( const DataType type)
protected

Constructor (overloaded version taking a data type)

Definition at line 33 of file CollectionVariant.cpp.

Member Function Documentation

Variant variant_topic_tools::CollectionVariant::getMember ( int  index) const

Retrieve a member of the collection by index.

Definition at line 82 of file CollectionVariant.cpp.

Variant variant_topic_tools::CollectionVariant::getMember ( const std::string &  name) const

Retrieve a member of the collection by name.

Definition at line 89 of file CollectionVariant.cpp.

size_t variant_topic_tools::CollectionVariant::getNumMembers ( ) const

Retrieve the number of members of the collection.

Definition at line 60 of file CollectionVariant.cpp.

template<typename T >
T& variant_topic_tools::CollectionVariant::getValue ( int  index)

Retrieve a member value of the collection by index (non-const version)

template<typename T >
const T& variant_topic_tools::CollectionVariant::getValue ( int  index) const

Retrieve a member value of the collection by index (const version)

template<typename T >
T& variant_topic_tools::CollectionVariant::getValue ( const std::string &  name)

Retrieve a member value of the collection by name (non-const version)

template<typename T >
const T& variant_topic_tools::CollectionVariant::getValue ( const std::string &  name) const

Retrieve a member value of the collection by name (const version)

bool variant_topic_tools::CollectionVariant::hasMember ( const std::string &  name) const

True, if the collection contains the member with the specified name.

Definition at line 96 of file CollectionVariant.cpp.

bool variant_topic_tools::CollectionVariant::isEmpty ( ) const

True, if the collection is empty.

Definition at line 103 of file CollectionVariant.cpp.

Variant variant_topic_tools::CollectionVariant::operator[] ( int  index) const

Operator for retrieving the members of the collection by index.

Definition at line 214 of file CollectionVariant.cpp.

Variant variant_topic_tools::CollectionVariant::operator[] ( const char *  name) const

Operator for retrieving the members of the collection by name (overloaded version taking a char array name)

Definition at line 218 of file CollectionVariant.cpp.

void variant_topic_tools::CollectionVariant::setMember ( int  index,
const Variant member 
)

Set a member of the collection by index.

Definition at line 67 of file CollectionVariant.cpp.

void variant_topic_tools::CollectionVariant::setMember ( const std::string &  name,
const Variant member 
)

Set a member of the collection by name.

Definition at line 74 of file CollectionVariant.cpp.

Friends And Related Function Documentation

friend class Variant
friend

Definition at line 33 of file CollectionVariant.h.


The documentation for this class was generated from the following files:


variant_topic_tools
Author(s): Ralf Kaestner
autogenerated on Sat Jan 9 2021 03:56:50