#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 () |
Public Member Functions inherited from RTT::base::AttributeBase | |
AttributeBase () | |
AttributeBase (const std::string &name) | |
virtual AttributeBase * | copy (std::map< const DataSourceBase *, DataSourceBase * > &replacements, bool instantiate)=0 |
const std::string & | getName () const |
bool | ready () const |
void | setName (std::string const &new_name) |
virtual | ~AttributeBase () |
Private Attributes | |
internal::AssignableDataSource< T >::shared_ptr | data |
Additional Inherited Members | |
Protected Attributes inherited from RTT::base::AttributeBase | |
std::string | mname |
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.
|
inline |
Create an Attribute with no name and no value.
Definition at line 65 of file Attribute.hpp.
|
inlineexplicit |
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.
|
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.
|
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.
|
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.
|
inline |
Copy constructor copies both name and deep copy of the data.
Definition at line 123 of file Attribute.hpp.
|
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.
|
inlinevirtual |
Returns a clone of this AttributeBase.
Implements RTT::base::AttributeBase.
Definition at line 224 of file Attribute.hpp.
|
inline |
Definition at line 229 of file Attribute.hpp.
|
inline |
Get the value of this Attribute.
Definition at line 188 of file Attribute.hpp.
|
inline |
Definition at line 219 of file Attribute.hpp.
|
inlinevirtual |
Return a internal::DataSource which contains the same contents.
Implements RTT::base::AttributeBase.
Definition at line 214 of file Attribute.hpp.
|
inline |
Assignment copies both name and deep copy of the data.
Definition at line 132 of file Attribute.hpp.
|
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.
|
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.
|
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.
|
private |
Definition at line 59 of file Attribute.hpp.