Public Types | Public Member Functions | Private Attributes
RTT::internal::ReferenceDataSource< T > Class Template Reference

#include <DataSources.hpp>

Inheritance diagram for RTT::internal::ReferenceDataSource< T >:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

template<typename T>
class RTT::internal::ReferenceDataSource< T >

A DataSource which is used to manipulate a reference to an external value.

Parameters:
TThe result data type of get().

Definition at line 210 of file DataSources.hpp.


Member Typedef Documentation

template<typename T>
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.


Constructor & Destructor Documentation

Use shared_ptr.

template<typename T>
RTT::internal::ReferenceDataSource< T >::ReferenceDataSource ( typename AssignableDataSource< T >::reference_t  ref)

Member Function Documentation

template<typename T>
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 >.

template<typename T>
virtual ReferenceDataSource<T>* RTT::internal::ReferenceDataSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const [virtual]
template<typename 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.

template<typename T>
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.

Note:
Getting a reference to an internal data structure is not thread-safe.

Implements RTT::internal::DataSource< T >.

Definition at line 258 of file DataSources.hpp.

template<typename T>
void RTT::internal::ReferenceDataSource< T >::set ( typename AssignableDataSource< T >::param_t  t)
template<typename 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.

template<typename T>
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.

template<typename T>
bool RTT::internal::ReferenceDataSource< T >::setReference ( base::DataSourceBase::shared_ptr  dsb) [inline, virtual]

Sets the reference to the data contained in the data source.

Parameters:
dsbMust 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.
Returns:
false if setting failed. More precisely this might fail if dynamic_cast'ing the argument to the Reference DataSource fails.
Note:
This method will also call evaluate on the dsb to assure the correct value is used.

Implements RTT::internal::Reference.

Definition at line 229 of file DataSources.hpp.

template<typename T>
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.


Member Data Documentation

template<typename T>
T* RTT::internal::ReferenceDataSource< T >::mptr [private]

Definition at line 214 of file DataSources.hpp.


The documentation for this class was generated from the following file:


rtt
Author(s): RTT Developers
autogenerated on Thu Jan 2 2014 11:35:44