Public Types | Public Member Functions | Private Types | Private Attributes
RTT::internal::NArityDataSource< function > Class Template Reference

#include <DataSources.hpp>

Inheritance diagram for RTT::internal::NArityDataSource< function >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::intrusive_ptr
< NArityDataSource< function > > 
shared_ptr

Public Member Functions

void add (typename DataSource< arg_t >::shared_ptr ds)
virtual NArityDataSource
< function > * 
clone () const
virtual NArityDataSource
< function > * 
copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const
virtual value_t get () const
 NArityDataSource (function f=function())
 NArityDataSource (function f, const std::vector< typename DataSource< arg_t >::shared_ptr > &dsargs)
virtual void reset ()
DataSource< value_t >
::const_reference_t 
rvalue () const
virtual value_t value () const

Private Types

typedef remove_cr< typename
function::argument_type >
::type 
arg_t
typedef remove_cr< typename
function::result_type >::type 
value_t

Private Attributes

function fun
std::vector< arg_tmargs
value_t mdata
std::vector< typename
DataSource< arg_t >
::shared_ptr
mdsargs

Detailed Description

template<typename function>
class RTT::internal::NArityDataSource< function >

A generic N-arity composite DataSource. It collects data sources of the same type and passes the values found on to function by means of a std::vector.

Parameters:
functionIs a struct which defines value_t operator()(const std::vector<arg_t>&), where value_t is defined as function::result_type and arg_t is defined as function::argument_type.

Definition at line 809 of file DataSources.hpp.


Member Typedef Documentation

template<typename function>
typedef remove_cr<typename function::argument_type>::type RTT::internal::NArityDataSource< function >::arg_t [private]

Definition at line 813 of file DataSources.hpp.

template<typename function>
typedef boost::intrusive_ptr<NArityDataSource<function> > RTT::internal::NArityDataSource< function >::shared_ptr

Use this type to store a pointer to a DataSourceBase.

Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.

Definition at line 819 of file DataSources.hpp.

template<typename function>
typedef remove_cr<typename function::result_type>::type RTT::internal::NArityDataSource< function >::value_t [private]

The bare type of T is extracted into value_t.

Reimplemented from RTT::internal::DataSource< remove_cr< function::result_type >::type >.

Definition at line 812 of file DataSources.hpp.


Constructor & Destructor Documentation

template<typename function>
RTT::internal::NArityDataSource< function >::NArityDataSource ( function  f = function()) [inline]

Create a DataSource which returns the return value of a function f.

Definition at line 825 of file DataSources.hpp.

template<typename function>
RTT::internal::NArityDataSource< function >::NArityDataSource ( function  f,
const std::vector< typename DataSource< arg_t >::shared_ptr > &  dsargs 
) [inline]

Create a DataSource which returns the return value of a function f.

Definition at line 834 of file DataSources.hpp.


Member Function Documentation

template<typename function>
void RTT::internal::NArityDataSource< function >::add ( typename DataSource< arg_t >::shared_ptr  ds) [inline]

Definition at line 839 of file DataSources.hpp.

template<typename function>
virtual NArityDataSource<function>* RTT::internal::NArityDataSource< function >::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::DataSource< remove_cr< function::result_type >::type >.

Definition at line 868 of file DataSources.hpp.

template<typename function>
virtual NArityDataSource<function>* RTT::internal::NArityDataSource< function >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const [inline, virtual]
template<typename function>
virtual value_t RTT::internal::NArityDataSource< function >::get ( ) const [inline, virtual]

Return the data as type T.

Implements RTT::internal::DataSource< remove_cr< function::result_type >::type >.

Definition at line 844 of file DataSources.hpp.

template<typename function>
virtual void RTT::internal::NArityDataSource< function >::reset ( void  ) [inline, virtual]

Reset the data to initial values.

Reimplemented from RTT::base::DataSourceBase.

Definition at line 862 of file DataSources.hpp.

template<typename function>
DataSource<value_t>::const_reference_t RTT::internal::NArityDataSource< function >::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< remove_cr< function::result_type >::type >.

Definition at line 857 of file DataSources.hpp.

template<typename function>
virtual value_t RTT::internal::NArityDataSource< function >::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< remove_cr< function::result_type >::type >.

Definition at line 852 of file DataSources.hpp.


Member Data Documentation

template<typename function>
function RTT::internal::NArityDataSource< function >::fun [private]

Definition at line 816 of file DataSources.hpp.

template<typename function>
std::vector<arg_t> RTT::internal::NArityDataSource< function >::margs [mutable, private]

Definition at line 814 of file DataSources.hpp.

template<typename function>
value_t RTT::internal::NArityDataSource< function >::mdata [mutable, private]

Definition at line 817 of file DataSources.hpp.

template<typename function>
std::vector<typename DataSource<arg_t>::shared_ptr > RTT::internal::NArityDataSource< function >::mdsargs [private]

Definition at line 815 of file DataSources.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Mon Oct 6 2014 03:13:59