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

#include <PartDataSource.hpp>

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

List of all members.

Public Types

typedef boost::intrusive_ptr
< PartDataSource< T > > 
shared_ptr

Public Member Functions

virtual PartDataSource< T > * clone () const
virtual PartDataSource< T > * copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replace) const
DataSource< T >::result_t get () const
 PartDataSource (typename AssignableDataSource< T >::reference_t ref, base::DataSourceBase::shared_ptr parent)
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
 ~PartDataSource ()

Private Attributes

base::DataSourceBase::shared_ptr mparent
AssignableDataSource< T >
::reference_t 
mref

Detailed Description

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

A DataSource which is used to manipulate a reference to a part of a data source.

This data source only works on a fixed reference in memory of a given data sequence (ie an element of a top level struct). In case the part's place in memory varies, you need the OffsetPartDataSource, which can access an element at any offset from a given memory location.

Parameters:
TThe data type of an element.

Definition at line 62 of file PartDataSource.hpp.


Member Typedef Documentation

template<typename T>
typedef boost::intrusive_ptr<PartDataSource<T> > RTT::internal::PartDataSource< 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 PartDataSource.hpp.


Constructor & Destructor Documentation

template<typename T>
RTT::internal::PartDataSource< T >::~PartDataSource ( ) [inline]

Definition at line 70 of file PartDataSource.hpp.

template<typename T>
RTT::internal::PartDataSource< T >::PartDataSource ( typename AssignableDataSource< T >::reference_t  ref,
base::DataSourceBase::shared_ptr  parent 
) [inline]

The part is constructed from a reference to a member variable of an existing struct.

Parameters:
refReference to the struct's variable.
parentA data source holding the struct.

Definition at line 80 of file PartDataSource.hpp.


Member Function Documentation

template<typename T>
virtual PartDataSource<T>* RTT::internal::PartDataSource< 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 116 of file PartDataSource.hpp.

template<typename T>
virtual PartDataSource<T>* RTT::internal::PartDataSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  replace) const [inline, virtual]

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

Definition at line 120 of file PartDataSource.hpp.

template<typename T>
DataSource<T>::result_t RTT::internal::PartDataSource< T >::get ( ) const [inline, virtual]

Return the data as type T.

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

Definition at line 86 of file PartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::const_reference_t RTT::internal::PartDataSource< 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 107 of file PartDataSource.hpp.

template<typename T>
void RTT::internal::PartDataSource< T >::set ( typename AssignableDataSource< T >::param_t  t) [inline]

Definition at line 96 of file PartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::reference_t RTT::internal::PartDataSource< 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 102 of file PartDataSource.hpp.

template<typename T>
void RTT::internal::PartDataSource< 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 112 of file PartDataSource.hpp.

template<typename T>
DataSource<T>::result_t RTT::internal::PartDataSource< 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 91 of file PartDataSource.hpp.


Member Data Documentation

Definition at line 68 of file PartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::reference_t RTT::internal::PartDataSource< T >::mref [private]

Definition at line 66 of file PartDataSource.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