#include <DataSources.hpp>
Public Types | |
typedef boost::intrusive_ptr < ReferenceDataSource< T > > | shared_ptr |
Public Member Functions | |
virtual ReferenceDataSource< T > * | clone () const |
virtual ReferenceDataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const |
DataSource< T >::result_t | get () const |
ReferenceDataSource (typename AssignableDataSource< T >::reference_t ref) | |
AssignableDataSource< T > ::const_reference_t | rvalue () const |
void | set (typename AssignableDataSource< T >::param_t t) |
AssignableDataSource< T > ::reference_t | set () |
void | setReference (void *ref) |
bool | setReference (base::DataSourceBase::shared_ptr dsb) |
DataSource< T >::result_t | value () const |
~ReferenceDataSource () | |
Private Attributes | |
T * | mptr |
A DataSource which is used to manipulate a reference to an external value.
T | The result data type of get(). |
Definition at line 210 of file DataSources.hpp.
typedef boost::intrusive_ptr<ReferenceDataSource<T> > RTT::internal::ReferenceDataSource< T >::shared_ptr |
Use this type to store a pointer to an AssignableDataSource.
Reimplemented from RTT::internal::AssignableDataSource< T >.
Definition at line 221 of file DataSources.hpp.
RTT::internal::ReferenceDataSource< T >::~ReferenceDataSource | ( | ) |
Use shared_ptr.
RTT::internal::ReferenceDataSource< T >::ReferenceDataSource | ( | typename AssignableDataSource< T >::reference_t | ref | ) |
virtual ReferenceDataSource<T>* RTT::internal::ReferenceDataSource< T >::clone | ( | ) | const [virtual] |
Return a shallow clone of this DataSource. This method returns a duplicate of this instance which re-uses the DataSources this internal::DataSource holds reference to. The clone() function is thus a non-deep copy.
Implements RTT::internal::AssignableDataSource< T >.
virtual ReferenceDataSource<T>* RTT::internal::ReferenceDataSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | alreadyCloned | ) | const [virtual] |
Implements RTT::internal::AssignableDataSource< T >.
DataSource<T>::result_t RTT::internal::ReferenceDataSource< T >::get | ( | ) | const [inline, virtual] |
Return the data as type T.
Implements RTT::internal::DataSource< T >.
Definition at line 241 of file DataSources.hpp.
AssignableDataSource<T>::const_reference_t RTT::internal::ReferenceDataSource< T >::rvalue | ( | ) | const [inline, virtual] |
Get a const reference to the value of this DataSource. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.
Implements RTT::internal::DataSource< T >.
Definition at line 258 of file DataSources.hpp.
void RTT::internal::ReferenceDataSource< T >::set | ( | typename AssignableDataSource< T >::param_t | t | ) |
AssignableDataSource<T>::reference_t RTT::internal::ReferenceDataSource< T >::set | ( | ) | [inline, virtual] |
Get a reference to the value of this DataSource. Getting a reference to an internal data structure is not thread-safe.
Implements RTT::internal::AssignableDataSource< T >.
Definition at line 253 of file DataSources.hpp.
void RTT::internal::ReferenceDataSource< T >::setReference | ( | void * | ref | ) | [inline, virtual] |
Sets the reference to a given pointer. The pointer must have the same type as the data referenced. No type checking is done, so make sure you get this right.
Implements RTT::internal::Reference.
Definition at line 225 of file DataSources.hpp.
bool RTT::internal::ReferenceDataSource< T >::setReference | ( | base::DataSourceBase::shared_ptr | dsb | ) | [inline, virtual] |
Sets the reference to the data contained in the data source.
dsb | Must be an assignable data source of the same type of the data. The shared pointer is not necessarily stored, so keep track of the lifetime of dsb, that it lives longer than this object. |
Implements RTT::internal::Reference.
Definition at line 229 of file DataSources.hpp.
DataSource<T>::result_t RTT::internal::ReferenceDataSource< T >::value | ( | ) | const [inline, virtual] |
Return the result of the last evaluate() function. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.
Implements RTT::internal::DataSource< T >.
Definition at line 246 of file DataSources.hpp.
T* RTT::internal::ReferenceDataSource< T >::mptr [private] |
Definition at line 214 of file DataSources.hpp.