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.