$search

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
AssignableDataSource< T >
::reference_t 
set ()
void set (typename AssignableDataSource< T >::param_t t)
bool setReference (base::DataSourceBase::shared_ptr dsb)
void setReference (void *ref)
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:
T The result data type of get().

Definition at line 206 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 217 of file DataSources.hpp.


Constructor & Destructor Documentation

template<typename T>
RTT::internal::ReferenceDataSource< T >::~ReferenceDataSource (  ) 

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 237 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 254 of file DataSources.hpp.

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 249 of file DataSources.hpp.

template<typename T>
void RTT::internal::ReferenceDataSource< T >::set ( typename AssignableDataSource< T >::param_t  t  ) 
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:
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.
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 225 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 221 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 242 of file DataSources.hpp.


Member Data Documentation

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

Definition at line 210 of file DataSources.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Mar 1 16:27:49 2013