#include <ArrayPartDataSource.hpp>
Public Types | |
typedef boost::intrusive_ptr < ArrayPartDataSource< T > > | shared_ptr |
Public Member Functions | |
ArrayPartDataSource (typename AssignableDataSource< T >::reference_t ref, DataSource< unsigned int >::shared_ptr index, base::DataSourceBase::shared_ptr parent, unsigned int max) | |
virtual ArrayPartDataSource< T > * | clone () const |
virtual ArrayPartDataSource< T > * | copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replace) const |
DataSource< T >::result_t | get () const |
AssignableDataSource< T > ::const_reference_t | rvalue () const |
void | set (typename AssignableDataSource< T >::param_t t) |
AssignableDataSource< T > ::reference_t | set () |
void | updated () |
DataSource< T >::result_t | value () const |
~ArrayPartDataSource () | |
Private Attributes | |
DataSource< unsigned int > ::shared_ptr | mindex |
unsigned int | mmax |
base::DataSourceBase::shared_ptr | mparent |
AssignableDataSource< T > ::value_t * | mref |
A DataSource which is used to manipulate a reference to a part of a data source holding a C-style array of elements.
It recalculates the reference of the part in case of copy/clone semantics.
T | The data type of an element. |
Definition at line 58 of file ArrayPartDataSource.hpp.
typedef boost::intrusive_ptr<ArrayPartDataSource<T> > RTT::internal::ArrayPartDataSource< T >::shared_ptr |
Use this type to store a pointer to an AssignableDataSource.
Reimplemented from RTT::internal::AssignableDataSource< T >.
Definition at line 72 of file ArrayPartDataSource.hpp.
RTT::internal::ArrayPartDataSource< T >::~ArrayPartDataSource | ( | ) | [inline] |
Definition at line 70 of file ArrayPartDataSource.hpp.
RTT::internal::ArrayPartDataSource< T >::ArrayPartDataSource | ( | typename AssignableDataSource< T >::reference_t | ref, |
DataSource< unsigned int >::shared_ptr | index, | ||
base::DataSourceBase::shared_ptr | parent, | ||
unsigned int | max | ||
) | [inline] |
The part is constructed from a reference to an existing array of elements and an index for accessing the n'th element.
ref | Reference to the first element of the array |
index | Datasource pointing to the index for use in operator[] |
parent | Parent data source for sending updated() messages. May be null. |
Definition at line 81 of file ArrayPartDataSource.hpp.
virtual ArrayPartDataSource<T>* RTT::internal::ArrayPartDataSource< T >::clone | ( | ) | const [inline, 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 >.
Definition at line 133 of file ArrayPartDataSource.hpp.
virtual ArrayPartDataSource<T>* RTT::internal::ArrayPartDataSource< T >::copy | ( | std::map< const base::DataSourceBase *, base::DataSourceBase * > & | replace | ) | const [inline, virtual] |
Implements RTT::internal::AssignableDataSource< T >.
Definition at line 137 of file ArrayPartDataSource.hpp.
DataSource<T>::result_t RTT::internal::ArrayPartDataSource< T >::get | ( | ) | const [inline, virtual] |
Return the data as type T.
Implements RTT::internal::DataSource< T >.
Definition at line 88 of file ArrayPartDataSource.hpp.
AssignableDataSource<T>::const_reference_t RTT::internal::ArrayPartDataSource< 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 121 of file ArrayPartDataSource.hpp.
void RTT::internal::ArrayPartDataSource< T >::set | ( | typename AssignableDataSource< T >::param_t | t | ) | [inline] |
Definition at line 104 of file ArrayPartDataSource.hpp.
AssignableDataSource<T>::reference_t RTT::internal::ArrayPartDataSource< 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 113 of file ArrayPartDataSource.hpp.
void RTT::internal::ArrayPartDataSource< T >::updated | ( | ) | [inline, virtual] |
In case the internal::DataSource returns a 'reference' type, call this method to notify it that the data was updated in the course of an invocation of get().
Reimplemented from RTT::base::DataSourceBase.
Definition at line 129 of file ArrayPartDataSource.hpp.
DataSource<T>::result_t RTT::internal::ArrayPartDataSource< 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 96 of file ArrayPartDataSource.hpp.
DataSource<unsigned int>::shared_ptr RTT::internal::ArrayPartDataSource< T >::mindex [private] |
Definition at line 64 of file ArrayPartDataSource.hpp.
unsigned int RTT::internal::ArrayPartDataSource< T >::mmax [private] |
Definition at line 68 of file ArrayPartDataSource.hpp.
base::DataSourceBase::shared_ptr RTT::internal::ArrayPartDataSource< T >::mparent [private] |
Definition at line 66 of file ArrayPartDataSource.hpp.
AssignableDataSource<T>::value_t* RTT::internal::ArrayPartDataSource< T >::mref [private] |
Definition at line 62 of file ArrayPartDataSource.hpp.