Templated message field collection. More...
#include <MessageFieldCollection.h>
Public Member Functions | |
void | appendField (const MessageField< T > &field) |
Append a field to the message field collection. | |
void | appendField (const std::string &name, const T &value=T()) |
Append a field to the message field collection (overloaded version taking a field name and a field value) | |
virtual void | clear () |
Clear the message field collection. | |
MessageField< T > & | getField (int index) |
Retrieve a field of the message field collection by index (non-const version) | |
const MessageField< T > & | getField (int index) const |
Retrieve a field of the message field collection by index (const version) | |
MessageField< T > & | getField (const std::string &name) |
Retrieve a field of the message field collection by name (non-const version) | |
const MessageField< T > & | getField (const std::string &name) const |
Retrieve a field of the message field collection by name (const version) | |
size_t | getNumFields () const |
Retrieve the number of fields of the message field collection. | |
bool | hasField (const std::string &name) const |
True, if the message field collection contains the field with the specified name. | |
bool | isEmpty () const |
True, if the message field collections is empty. | |
void | merge (const MessageFieldCollection< T > &collection) |
Merge this message field collection with another message field collection. | |
MessageFieldCollection () | |
Default constructor. | |
MessageFieldCollection (const MessageFieldCollection< T > &src) | |
Copy constructor. | |
bool | operator!= (const MessageFieldCollection< T > &collection) const |
True, if this message field collection is not equal to another message field collection. | |
MessageFieldCollection< T > & | operator+= (const MessageField< T > &field) |
Operator for appending a field to the message field collection. | |
bool | operator== (const MessageFieldCollection< T > &collection) const |
True, if this message field collection is equal to another message field collection. | |
MessageField< T > & | operator[] (int index) |
Operator for retrieving the fields of the message field collection by index (non-const version) | |
const MessageField< T > & | operator[] (int index) const |
Operator for retrieving the fields of the message field collection by index (const version) | |
MessageField< T > & | operator[] (const std::string &name) |
Operator for retrieving the fields of the message field collection by name (non-const version) | |
const MessageField< T > & | operator[] (const std::string &name) const |
Operator for retrieving the fields of the message field collection by name (const version) | |
virtual void | write (std::ostream &stream, const std::string &indent=std::string()) const |
Write the message field collection to a stream. | |
virtual | ~MessageFieldCollection () |
Destructor. | |
Protected Types | |
typedef boost::shared_ptr < MessageField< T > > | MessageFieldPtr |
Declaration of the message field pointer type. | |
typedef boost::weak_ptr < MessageField< T > > | MessageFieldWPtr |
Declaration of the message field weak pointer type. | |
Protected Member Functions | |
MessageField< T > & | getField (const std::string &name, size_t pos) const |
Recursively retrieve a field of the message field collection by name. | |
bool | hasField (const std::string &name, size_t pos) const |
True, if the message field collection or any of its fields contains the field with the specified name. | |
Protected Attributes | |
boost::unordered_map < std::string, MessageFieldPtr > | fieldsByName |
The message fields of the collection by name. | |
std::vector< MessageFieldPtr > | fieldsInOrder |
The message fields of the collection in order. |
Templated message field collection.
Definition at line 37 of file MessageFieldCollection.h.
typedef boost::shared_ptr<MessageField<T> > variant_topic_tools::MessageFieldCollection< T >::MessageFieldPtr [protected] |
Declaration of the message field pointer type.
Definition at line 144 of file MessageFieldCollection.h.
typedef boost::weak_ptr<MessageField<T> > variant_topic_tools::MessageFieldCollection< T >::MessageFieldWPtr [protected] |
Declaration of the message field weak pointer type.
Definition at line 148 of file MessageFieldCollection.h.
variant_topic_tools::MessageFieldCollection< T >::MessageFieldCollection | ( | ) |
Default constructor.
variant_topic_tools::MessageFieldCollection< T >::MessageFieldCollection | ( | const MessageFieldCollection< T > & | src | ) |
Copy constructor.
virtual variant_topic_tools::MessageFieldCollection< T >::~MessageFieldCollection | ( | ) | [virtual] |
Destructor.
void variant_topic_tools::MessageFieldCollection< T >::appendField | ( | const MessageField< T > & | field | ) |
Append a field to the message field collection.
void variant_topic_tools::MessageFieldCollection< T >::appendField | ( | const std::string & | name, |
const T & | value = T() |
||
) |
Append a field to the message field collection (overloaded version taking a field name and a field value)
virtual void variant_topic_tools::MessageFieldCollection< T >::clear | ( | ) | [virtual] |
Clear the message field collection.
Reimplemented in variant_topic_tools::MessageDefinition, and variant_topic_tools::MessageField< T >.
MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::getField | ( | int | index | ) |
Retrieve a field of the message field collection by index (non-const version)
const MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::getField | ( | int | index | ) | const |
Retrieve a field of the message field collection by index (const version)
MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::getField | ( | const std::string & | name | ) |
Retrieve a field of the message field collection by name (non-const version)
const MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::getField | ( | const std::string & | name | ) | const |
Retrieve a field of the message field collection by name (const version)
MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::getField | ( | const std::string & | name, |
size_t | pos | ||
) | const [protected] |
Recursively retrieve a field of the message field collection by name.
size_t variant_topic_tools::MessageFieldCollection< T >::getNumFields | ( | ) | const |
Retrieve the number of fields of the message field collection.
bool variant_topic_tools::MessageFieldCollection< T >::hasField | ( | const std::string & | name | ) | const |
True, if the message field collection contains the field with the specified name.
bool variant_topic_tools::MessageFieldCollection< T >::hasField | ( | const std::string & | name, |
size_t | pos | ||
) | const [protected] |
True, if the message field collection or any of its fields contains the field with the specified name.
bool variant_topic_tools::MessageFieldCollection< T >::isEmpty | ( | ) | const |
True, if the message field collections is empty.
void variant_topic_tools::MessageFieldCollection< T >::merge | ( | const MessageFieldCollection< T > & | collection | ) |
Merge this message field collection with another message field collection.
bool variant_topic_tools::MessageFieldCollection< T >::operator!= | ( | const MessageFieldCollection< T > & | collection | ) | const |
True, if this message field collection is not equal to another message field collection.
MessageFieldCollection<T>& variant_topic_tools::MessageFieldCollection< T >::operator+= | ( | const MessageField< T > & | field | ) |
Operator for appending a field to the message field collection.
bool variant_topic_tools::MessageFieldCollection< T >::operator== | ( | const MessageFieldCollection< T > & | collection | ) | const |
True, if this message field collection is equal to another message field collection.
MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::operator[] | ( | int | index | ) |
Operator for retrieving the fields of the message field collection by index (non-const version)
const MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::operator[] | ( | int | index | ) | const |
Operator for retrieving the fields of the message field collection by index (const version)
MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::operator[] | ( | const std::string & | name | ) |
Operator for retrieving the fields of the message field collection by name (non-const version)
const MessageField<T>& variant_topic_tools::MessageFieldCollection< T >::operator[] | ( | const std::string & | name | ) | const |
Operator for retrieving the fields of the message field collection by name (const version)
virtual void variant_topic_tools::MessageFieldCollection< T >::write | ( | std::ostream & | stream, |
const std::string & | indent = std::string() |
||
) | const [virtual] |
Write the message field collection to a stream.
Reimplemented in variant_topic_tools::MessageField< T >.
boost::unordered_map<std::string, MessageFieldPtr> variant_topic_tools::MessageFieldCollection< T >::fieldsByName [protected] |
The message fields of the collection by name.
Definition at line 156 of file MessageFieldCollection.h.
std::vector<MessageFieldPtr> variant_topic_tools::MessageFieldCollection< T >::fieldsInOrder [protected] |
The message fields of the collection in order.
Definition at line 152 of file MessageFieldCollection.h.