Public Types | Public Member Functions | Public Attributes
RTT::internal::FusedFunctorDataSource< Signature, Enable > Struct Template Reference

#include <FusedFunctorDataSource.hpp>

Inheritance diagram for RTT::internal::FusedFunctorDataSource< Signature, Enable >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef SequenceFactory::data_type arg_type
typedef boost::function
< Signature > 
call_type
typedef DataSource< value_t >
::const_reference_t 
const_reference_t
typedef SequenceFactory::type DataSourceSequence
typedef boost::function_traits
< Signature >::result_type 
result_type
typedef create_sequence
< typename
boost::function_types::parameter_types
< Signature >::type > 
SequenceFactory
typedef boost::intrusive_ptr
< FusedFunctorDataSource
< Signature > > 
shared_ptr
typedef remove_cr< result_type >
::type 
value_t

Public Member Functions

virtual FusedFunctorDataSource
< Signature > * 
clone () const
virtual FusedFunctorDataSource
< Signature > * 
copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const
bool evaluate () const
template<class Func >
 FusedFunctorDataSource (Func g, const DataSourceSequence &s=DataSourceSequence())
value_t get () const
const_reference_t rvalue () const
void setArguments (const DataSourceSequence &a1)
value_t value () const

Public Attributes

DataSourceSequence args
boost::function< Signature > ff
RStore< result_typeret

Detailed Description

template<typename Signature, class Enable = void>
struct RTT::internal::FusedFunctorDataSource< Signature, Enable >

A DataSource that calls a functor of signature Signature which gets its arguments from other data sources. The result type of this data source is the result type of the called function.

Definition at line 66 of file FusedFunctorDataSource.hpp.


Member Typedef Documentation

template<typename Signature, class Enable = void>
typedef SequenceFactory::data_type RTT::internal::FusedFunctorDataSource< Signature, Enable >::arg_type

Definition at line 79 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef boost::function<Signature> RTT::internal::FusedFunctorDataSource< Signature, Enable >::call_type

Definition at line 78 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef DataSource<value_t>::const_reference_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::const_reference_t
template<typename Signature, class Enable = void>
typedef SequenceFactory::type RTT::internal::FusedFunctorDataSource< Signature, Enable >::DataSourceSequence

Definition at line 77 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef boost::function_traits<Signature>::result_type RTT::internal::FusedFunctorDataSource< Signature, Enable >::result_type

Definition at line 72 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef create_sequence< typename boost::function_types::parameter_types<Signature>::type> RTT::internal::FusedFunctorDataSource< Signature, Enable >::SequenceFactory

Definition at line 76 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef boost::intrusive_ptr<FusedFunctorDataSource<Signature> > RTT::internal::FusedFunctorDataSource< Signature, Enable >::shared_ptr

Use this type to store a pointer to a DataSourceBase.

Reimplemented from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >.

Definition at line 85 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
typedef remove_cr<result_type>::type RTT::internal::FusedFunctorDataSource< Signature, Enable >::value_t

The bare type of T is extracted into value_t.

Reimplemented from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >.

Definition at line 73 of file FusedFunctorDataSource.hpp.


Constructor & Destructor Documentation

template<typename Signature, class Enable = void>
template<class Func >
RTT::internal::FusedFunctorDataSource< Signature, Enable >::FusedFunctorDataSource ( Func  g,
const DataSourceSequence s = DataSourceSequence() 
) [inline]

Definition at line 88 of file FusedFunctorDataSource.hpp.


Member Function Documentation

template<typename Signature, class Enable = void>
virtual FusedFunctorDataSource<Signature>* RTT::internal::FusedFunctorDataSource< Signature, Enable >::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< boost::function_traits< Signature >::result_type >::type >.

Definition at line 127 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
virtual FusedFunctorDataSource<Signature>* RTT::internal::FusedFunctorDataSource< Signature, Enable >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const [inline, virtual]
template<typename Signature, class Enable = void>
bool RTT::internal::FusedFunctorDataSource< Signature, Enable >::evaluate ( ) const [inline, virtual]

Force an evaluation of the DataSourceBase.

Returns:
true on successful evaluation.

Reimplemented from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >.

Definition at line 109 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
value_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::get ( ) const [inline, virtual]
template<typename Signature, class Enable = void>
const_reference_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::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< boost::function_traits< Signature >::result_type >::type >.

Definition at line 104 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
void RTT::internal::FusedFunctorDataSource< Signature, Enable >::setArguments ( const DataSourceSequence a1) [inline]

Definition at line 94 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
value_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::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< boost::function_traits< Signature >::result_type >::type >.

Definition at line 99 of file FusedFunctorDataSource.hpp.


Member Data Documentation

template<typename Signature, class Enable = void>
DataSourceSequence RTT::internal::FusedFunctorDataSource< Signature, Enable >::args

Definition at line 81 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
boost::function<Signature> RTT::internal::FusedFunctorDataSource< Signature, Enable >::ff

Definition at line 80 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
RStore<result_type> RTT::internal::FusedFunctorDataSource< Signature, Enable >::ret [mutable]

Definition at line 82 of file FusedFunctorDataSource.hpp.


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


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