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

#include <DataSources.hpp>

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

List of all members.

Public Types

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

Public Member Functions

virtual ConstantDataSource< T > * clone () const
 ConstantDataSource (T value)
virtual ConstantDataSource< T > * copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const
DataSource< T >::result_t get () const
DataSource< T >::const_reference_t rvalue () const
DataSource< T >::result_t value () const
 ~ConstantDataSource ()

Private Attributes

boost::add_const< typename
DataSource< T >::value_t >
::type 
mdata

Detailed Description

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

A DataSource which holds a constant value and returns it in its get() method. It can not be changed after creation.

Parameters:
TAny type of data, except being a non-const reference.

Definition at line 123 of file DataSources.hpp.


Member Typedef Documentation

template<typename T>
typedef boost::intrusive_ptr< ConstantDataSource<T> > RTT::internal::ConstantDataSource< T >::shared_ptr

Use this type to store a pointer to a DataSourceBase.

Reimplemented from RTT::internal::DataSource< T >.

Definition at line 138 of file DataSources.hpp.


Constructor & Destructor Documentation

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

Use shared_ptr.

template<typename T>
RTT::internal::ConstantDataSource< T >::ConstantDataSource ( value)

Member Function Documentation

template<typename T>
virtual ConstantDataSource<T>* RTT::internal::ConstantDataSource< 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::DataSource< T >.

template<typename T>
virtual ConstantDataSource<T>* RTT::internal::ConstantDataSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const [virtual]
template<typename T>
DataSource<T>::result_t RTT::internal::ConstantDataSource< T >::get ( ) const [inline, virtual]

Return the data as type T.

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

Definition at line 142 of file DataSources.hpp.

template<typename T>
DataSource<T>::const_reference_t RTT::internal::ConstantDataSource< 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 152 of file DataSources.hpp.

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


Member Data Documentation

template<typename T>
boost::add_const<typename DataSource<T>::value_t>::type RTT::internal::ConstantDataSource< T >::mdata [private]

Assure that mdata is const, such that T is forced to not be a non-const reference.

Definition at line 130 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