Collection variant type. More...
#include <CollectionVariant.h>
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 DataType & | getType () 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 > | |
Variant & | operator= (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< Value > | ValuePtr |
Declaration of the variant value pointer type. More... | |
typedef boost::weak_ptr< Value > | ValueWPtr |
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... | |
Collection variant type.
Definition at line 31 of file CollectionVariant.h.
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.
|
protected |
Constructor (overloaded version taking a data type)
Definition at line 33 of file CollectionVariant.cpp.
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.
T& variant_topic_tools::CollectionVariant::getValue | ( | int | index | ) |
Retrieve a member value of the collection by index (non-const version)
const T& variant_topic_tools::CollectionVariant::getValue | ( | int | index | ) | const |
Retrieve a member value of the collection by index (const version)
T& variant_topic_tools::CollectionVariant::getValue | ( | const std::string & | name | ) |
Retrieve a member value of the collection by name (non-const version)
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.
|
friend |
Definition at line 33 of file CollectionVariant.h.