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

#include <DataSources.hpp>

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

Public Types

typedef boost::intrusive_ptr< NArityDataSource< function > > shared_ptr
 
- Public Types inherited from RTT::internal::DataSource< remove_cr< function::result_type >::type >
typedef boost::intrusive_ptr< const DataSource< remove_cr< function::result_type >::type > > const_ptr
 
typedef details::GetConstRef< remove_cr< function::result_type >::type >::type const_reference_t
 
typedef remove_cr< function::result_type >::type result_t
 
typedef boost::intrusive_ptr< DataSource< remove_cr< function::result_type >::type > > shared_ptr
 
typedef remove_cr< function::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

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
 
- Public Member Functions inherited from RTT::internal::DataSource< remove_cr< function::result_type >::type >
 BOOST_STATIC_ASSERT (!details::HasConst< remove_cr< function::result_type >::type >::value)
 
virtual bool evaluate () const
 
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
 
std::string toString ()
 
virtual bool update (DataSourceBase *other)
 
virtual ActionInterfaceupdateAction (DataSourceBase *other)
 
virtual void updated ()
 
std::ostream & write (std::ostream &os)
 

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_ptrmdsargs
 

Additional Inherited Members

- Static Public Member Functions inherited from RTT::internal::DataSource< remove_cr< function::result_type >::type >
static std::string GetType ()
 
static const types::TypeInfoGetTypeInfo ()
 
static std::string GetTypeName ()
 
static DataSource< remove_cr< function::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< function::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 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 793 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 797 of file DataSources.hpp.

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

Definition at line 803 of file DataSources.hpp.

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

Definition at line 796 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 809 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 818 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 823 of file DataSources.hpp.

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

Definition at line 852 of file DataSources.hpp.

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

Return the data as type T.

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

Definition at line 828 of file DataSources.hpp.

template<typename function>
virtual void RTT::internal::NArityDataSource< function >::reset ( )
inlinevirtual

Reset the data to initial values.

Reimplemented from RTT::base::DataSourceBase.

Definition at line 846 of file DataSources.hpp.

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

Definition at line 841 of file DataSources.hpp.

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

Definition at line 836 of file DataSources.hpp.

Member Data Documentation

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

Definition at line 800 of file DataSources.hpp.

template<typename function>
std::vector<arg_t> RTT::internal::NArityDataSource< function >::margs
mutableprivate

Definition at line 798 of file DataSources.hpp.

template<typename function>
value_t RTT::internal::NArityDataSource< function >::mdata
mutableprivate

Definition at line 801 of file DataSources.hpp.

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

Definition at line 799 of file DataSources.hpp.


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


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