#include </home/sspr/src/www/orocos-1.0/export/build/orocos-rtt-1.2.2/build/rtt/PropertyBag.hpp>
All operations on a PropertyBag are non recursive. The PropertyBag itself is not aware of the possible hierarchical structure. You need to use the global scope functions for handling hierarchical structures.
A PropertyBag is not the owner of the properties within. It defines a group of properties, nothing more. When this group of properties contains another PropertyBag, this bag is considered as a 'pointer' to other properties. Even such a bag is not owned by the PropertyBag.
bag.add(&prop).
PropertyBase* pb = bag.find( "name" ).
Property<ClassT> pb = bag.getProperty<ClassT>( "name" ).
Public Types | |
| typedef std::vector< PropertyBase * > | Properties |
| The container in which the properties are stored. | |
| typedef Properties | PropertyContainerType |
| Deprecated, use Properties. | |
| typedef Properties::iterator | iterator |
| An iterator over the Properties. | |
| typedef Properties::const_iterator | const_iterator |
| A const iterator over the Properties. | |
| typedef std::vector< std::string > | Names |
| The container to hold names of Properties. | |
Public Member Functions | |
| PropertyBag () | |
| The default constructor. | |
| PropertyBag (const std::string &_type) | |
| The typed constructor. | |
| PropertyBag (const PropertyBag &orig) | |
| The copy constructor. | |
| void | add (PropertyBase *p) |
| Add a valid property to the container. | |
| void | remove (PropertyBase *p) |
| Remove a property from the container. | |
| bool | addProperty (PropertyBase *p) |
| Add a valid property to the container. | |
| bool | removeProperty (PropertyBase *p) |
| Remove a property from the container. | |
| void | clear () |
| Removes all PropertyBases from this bag, without deleting them. | |
| void | list (Names &names) const |
| List the names of all properties. | |
| Names | list () const |
| List the names of all properties. | |
| bool | empty () const |
| Return true if no properties are present in this bag. | |
| template<class T> | |
| Property< T > * | getProperty (const std::string &name) const |
| Get a Property<T> with name name. | |
| PropertyBase * | getItem (int i) const |
| Returns the i'th Property, starting from 0. | |
| size_t | size () const |
| Get the number of Properties in this bag. | |
| void | identify (PropertyIntrospection *pi) const |
| Identify the contents of this bag through introspection. | |
| void | identify (PropertyBagVisitor *pi) const |
| Identify the contents of this bag through introspection. | |
| PropertyBase * | find (const std::string &name) const |
| Find the PropertyBase with name name. | |
| PropertyBag & | operator= (const PropertyBag &orig) |
| This assignment assigns all PropertyBases of another bag in this bag, making an exact copy or the original. | |
| PropertyBag & | operator<<= (const PropertyBag &source) |
| The update operator. | |
| PropertyBag & | operator<< (PropertyBase *item) |
| The 'add' operator. | |
| const std::string & | getType () const |
| void | setType (const std::string &newtype) |
| Properties & | getProperties () |
| const Properties & | getProperties () const |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
Protected Attributes | |
| Properties | mproperties |
| std::string | type |
Classes | |
| struct | FindProp |
| A function object for finding a Property by name. More... | |
| PropertyBag | ( | const std::string & | _type | ) |
| PropertyBag | ( | const PropertyBag & | orig | ) |
The copy constructor.
The copy constructor of the PropertyBag makes non-deep copies of its elements.
| void add | ( | PropertyBase * | p | ) |
Add a valid property to the container.
Analogous to addProperty.
| p | Pointer to the property to be added. |
| void remove | ( | PropertyBase * | p | ) |
Remove a property from the container.
Analogous to removeProperty.
| p | Pointer to the property to be removed. |
| bool addProperty | ( | PropertyBase * | p | ) |
Add a valid property to the container.
| p | Pointer to the property to be added. |
| bool removeProperty | ( | PropertyBase * | p | ) |
Remove a property from the container.
| p | Pointer to the property to be removed. |
| void clear | ( | ) |
Removes all PropertyBases from this bag, without deleting them.
This is a not recursive function.
| void list | ( | Names & | names | ) | const |
List the names of all properties.
| names | The container which will be used to store all available property names in. |
| Names list | ( | ) | const |
List the names of all properties.
| Property<T>* getProperty | ( | const std::string & | name | ) | const [inline] |
Get a Property<T> with name name.
| T | The type of which this property is. | |
| name | The name of the property to search for. |
| PropertyBase* getItem | ( | int | i | ) | const [inline] |
| PropertyBase* find | ( | const std::string & | name | ) | const |
Find the PropertyBase with name name.
| name | The name of the property to search for. |
| PropertyBag& operator<<= | ( | const PropertyBag & | source | ) |
The update operator.
It updates this bag so it contains all PropertyBases of another bag, removing own PropertyBases if duplicate names exist in the source bag.
| PropertyBag& operator<< | ( | PropertyBase * | item | ) | [inline] |
1.5.1