#include <Attribute.hpp>
Public Member Functions | |
Attribute () | |
Attribute (const std::string &name) | |
Attribute (const std::string &name, T t) | |
template<class Owner > | |
Attribute (const std::string &name, T t, Owner o) | |
Attribute (const std::string &name, internal::AssignableDataSource< T > *d) | |
Attribute (const Attribute< T > &a) | |
Attribute (base::AttributeBase *ab) | |
Attribute< T > * | clone () const |
Attribute< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replacements, bool instantiate) |
T const & | get () const |
internal::AssignableDataSource < T >::shared_ptr | getAssignableDataSource () const |
base::DataSourceBase::shared_ptr | getDataSource () const |
Attribute< T > & | operator= (const Attribute< T > &a) |
Attribute< T > & | operator= (base::AttributeBase *ab) |
void | set (T const &t) |
internal::AssignableDataSource < T >::reference_t | set () |
Private Attributes | |
internal::AssignableDataSource < T >::shared_ptr | data |
An Attribute has a name and contains data which can be set and get. Accessing an attribute (reading/writing) is not thread-safe. It is used to expose a C/C++ variable to the interface of a TaskContext in order to allow plugins or external tools to read and write it.
T | The type of data this attribute holds. |
Definition at line 56 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | ) | [inline] |
Create an Attribute with no name and no value.
Definition at line 65 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name | ) | [inline, explicit] |
Create an Attribute with a given name and a default value.
name | The name of this instance. |
Definition at line 74 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
T | t | ||
) | [inline] |
Create an Attribute with a name and a given value t.
name | The name of this instance. |
t | The value for initialisation. |
Definition at line 85 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
T | t, | ||
Owner | o | ||
) | [inline] |
Create an Attribute with a name, a given value t and an owner. The owner is used to register this attribute to and is supposed to be a pointer (or shared pointer).
name | The name of this instance. |
t | The value for initialisation. |
o | The owner, which has a function 'addAttribute(AttributeBase*)'. |
Definition at line 101 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const std::string & | name, |
internal::AssignableDataSource< T > * | d | ||
) | [inline] |
Create an Attribute which uses a internal::DataSource d.
name | The name |
d | The data source to read from and write to. |
Definition at line 114 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | const Attribute< T > & | a | ) | [inline] |
Copy constructor copies both name and deep copy of the data.
Definition at line 123 of file Attribute.hpp.
RTT::Attribute< T >::Attribute | ( | base::AttributeBase * | ab | ) | [inline] |
Create an Attribute which mirrors a base::AttributeBase ab. If successful, this attribute will always have the same value as ab and vice versa.
ab | The Attribute to mirror. If null, this will clear this attribute and clear its name. |
Definition at line 150 of file Attribute.hpp.
Attribute<T>* RTT::Attribute< T >::clone | ( | ) | const [inline, virtual] |
Returns a clone of this AttributeBase.
Implements RTT::base::AttributeBase.
Definition at line 224 of file Attribute.hpp.
Attribute<T>* RTT::Attribute< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | replacements, |
bool | instantiate | ||
) | [inline] |
Definition at line 229 of file Attribute.hpp.
T const& RTT::Attribute< T >::get | ( | ) | const [inline] |
Get the value of this Attribute.
Definition at line 188 of file Attribute.hpp.
internal::AssignableDataSource<T>::shared_ptr RTT::Attribute< T >::getAssignableDataSource | ( | ) | const [inline] |
Definition at line 219 of file Attribute.hpp.
base::DataSourceBase::shared_ptr RTT::Attribute< T >::getDataSource | ( | ) | const [inline, virtual] |
Return a internal::DataSource which contains the same contents.
Implements RTT::base::AttributeBase.
Definition at line 214 of file Attribute.hpp.
Attribute<T>& RTT::Attribute< T >::operator= | ( | const Attribute< T > & | a | ) | [inline] |
Assignment copies both name and deep copy of the data.
Definition at line 132 of file Attribute.hpp.
Attribute<T>& RTT::Attribute< T >::operator= | ( | base::AttributeBase * | ab | ) | [inline] |
Initialise an Attribute which mirrors an base::AttributeBase ab. If successful, this attribute will always have the same value as ab and vice versa.
ab | The attribute to mirror. If null, this will clear this attribute and clear its name. |
Definition at line 164 of file Attribute.hpp.
void RTT::Attribute< T >::set | ( | T const & | t | ) | [inline] |
Set the value of this Attribute. In case the attribute is owned by a remote component, the value will be transfered.
Definition at line 199 of file Attribute.hpp.
internal::AssignableDataSource<T>::reference_t RTT::Attribute< T >::set | ( | ) | [inline] |
Allow to set the value of this Attribute by reference. Don't use this function to set attributes of remote components, since set() will return in that case a copy of the data and the remote side will not be updated.
Definition at line 210 of file Attribute.hpp.
internal::AssignableDataSource<T>::shared_ptr RTT::Attribute< T >::data [private] |
Definition at line 59 of file Attribute.hpp.