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

#include <FusedFunctorDataSource.hpp>

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

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 Types inherited from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >
typedef boost::intrusive_ptr< const DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type > > const_ptr
 
typedef details::GetConstRef< remove_cr< boost::function_traits< Signature >::result_type >::type >::type const_reference_t
 
typedef remove_cr< boost::function_traits< Signature >::result_type >::type result_t
 
typedef boost::intrusive_ptr< DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type > > shared_ptr
 
typedef remove_cr< boost::function_traits< Signature >::result_type >::type value_t
 
- Public Types inherited from RTT::base::DataSourceBase
typedef boost::intrusive_ptr< const DataSourceBaseconst_ptr
 
typedef boost::intrusive_ptr< DataSourceBaseshared_ptr
 

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 Member Functions inherited from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >
 BOOST_STATIC_ASSERT (!details::HasConst< remove_cr< boost::function_traits< Signature >::result_type >::type >::value)
 
void const * getRawConstPointer ()
 
virtual std::string getType () const
 
virtual const types::TypeInfogetTypeInfo () const
 
virtual std::string getTypeName () const
 
- Public Member Functions inherited from RTT::base::DataSourceBase
virtual DataSourceBasecopy (std::map< const DataSourceBase *, DataSourceBase * > &alreadyCloned) const =0
 
 DataSourceBase ()
 
void deref () const
 
virtual shared_ptr getMember (const std::string &member_name)
 
virtual shared_ptr getMember (DataSourceBase::shared_ptr member_id, DataSourceBase::shared_ptr offset)
 
virtual std::vector< std::string > getMemberNames () const
 
virtual shared_ptr getParent ()
 
virtual void * getRawPointer ()
 
virtual bool isAssignable () const
 
void ref () const
 
virtual void reset ()
 
std::string toString ()
 
virtual bool update (DataSourceBase *other)
 
virtual ActionInterfaceupdateAction (DataSourceBase *other)
 
virtual void updated ()
 
std::ostream & write (std::ostream &os)
 

Public Attributes

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

Additional Inherited Members

- Static Public Member Functions inherited from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >
static std::string GetType ()
 
static const types::TypeInfoGetTypeInfo ()
 
static std::string GetTypeName ()
 
static DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type > * narrow (base::DataSourceBase *db)
 
- Static Public Member Functions inherited from RTT::base::DataSourceBase
static const_ptr stack_const_ptr (const DataSourceBase *dsb)
 
static shared_ptr stack_shared_ptr (DataSourceBase *dsb)
 
- Protected Member Functions inherited from RTT::internal::DataSource< remove_cr< boost::function_traits< Signature >::result_type >::type >
virtual ~DataSource ()
 
- Protected Member Functions inherited from RTT::base::DataSourceBase
virtual ~DataSourceBase ()
 
- Protected Attributes inherited from RTT::base::DataSourceBase
os::AtomicInt refcount
 

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 70 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 83 of file FusedFunctorDataSource.hpp.

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

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

Definition at line 78 of file FusedFunctorDataSource.hpp.

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

Definition at line 81 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 76 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 80 of file FusedFunctorDataSource.hpp.

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

Definition at line 89 of file FusedFunctorDataSource.hpp.

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

Definition at line 77 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 92 of file FusedFunctorDataSource.hpp.

Member Function Documentation

template<typename Signature, class Enable = void>
virtual FusedFunctorDataSource<Signature>* RTT::internal::FusedFunctorDataSource< Signature, Enable >::clone ( ) const
inlinevirtual

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 131 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
inlinevirtual
template<typename Signature, class Enable = void>
bool RTT::internal::FusedFunctorDataSource< Signature, Enable >::evaluate ( ) const
inlinevirtual

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 113 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
value_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::get ( ) const
inlinevirtual
template<typename Signature, class Enable = void>
const_reference_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::rvalue ( ) const
inlinevirtual

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 108 of file FusedFunctorDataSource.hpp.

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

Definition at line 98 of file FusedFunctorDataSource.hpp.

template<typename Signature, class Enable = void>
value_t RTT::internal::FusedFunctorDataSource< Signature, Enable >::value ( ) const
inlinevirtual

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 103 of file FusedFunctorDataSource.hpp.

Member Data Documentation

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

Definition at line 85 of file FusedFunctorDataSource.hpp.

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

Definition at line 84 of file FusedFunctorDataSource.hpp.

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

Definition at line 86 of file FusedFunctorDataSource.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47