List of all members
RTT::internal::create_sequence< List > Struct Template Reference

#include <CreateSequence.hpp>

Inheritance diagram for RTT::internal::create_sequence< List >:
Inheritance graph
[legend]

Additional Inherited Members

- Public Types inherited from RTT::internal::create_sequence_impl< List, mpl::size< List >::value >
typedef AssignableDataSource< ds_arg_type >::shared_ptr ads_type
 
typedef tail::data_store_type arg_store_tail_type
 
typedef AStore< arg_typearg_store_type
 
typedef tail::data_type arg_tail_type
 
typedef mpl::front< List >::type arg_type
 
typedef tail::atype atail_type
 
typedef bf::cons< ads_type, atail_typeatype
 
typedef bf::cons< arg_store_type, arg_store_tail_typedata_store_type
 
typedef bf::cons< arg_type, arg_tail_typedata_type
 
typedef remove_cr< arg_type >::type ds_arg_type
 
typedef mpl::if_< typename is_pure_reference< arg_type >::type, typename AssignableDataSource< ds_arg_type >::shared_ptr, typename DataSource< ds_arg_type >::shared_ptr >::type ds_type
 
typedef create_sequence< typename mpl::pop_front< List >::typetail
 
typedef tail::type tail_type
 
typedef bf::cons< ds_type, tail_typetype
 
- Static Public Member Functions inherited from RTT::internal::create_sequence_impl< List, mpl::size< List >::value >
static atype assignable (std::vector< base::DataSourceBase::shared_ptr >::const_iterator args, int argnbr=1)
 
static type copy (const type &seq, std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned)
 
static data_type data (const type &seq)
 
static std::string GetType (int i)
 
static const types::TypeInfoGetTypeInfo (int i)
 
static void load (const data_store_type &in, const atype &seq)
 
static void set (const data_type &in, const atype &seq)
 
static type sources (std::vector< base::DataSourceBase::shared_ptr >::const_iterator args, int argnbr=1)
 
static data_store_type store (const data_type &in)
 
static void update (const type &seq)
 

Detailed Description

template<class List>
struct RTT::internal::create_sequence< List >

This class can create three kinds of Boost Fusion Sequences.

sources() creates a fusion sequence of (Assignable)DataSource<T>::shared_ptr from an mpl sequence and a std::vector<DataSourceBase*>. Both must have same length. The mpl sequence is typically obtained from the function_types parameter_types traits class.

assignable() creates a fusion sequence of AssignableDataSource<T>::shared_ptr from an mpl sequence and a std::vector<DataSourceBase*>. Both must have same length. The mpl sequence is typically obtained from the function_types parameter_types traits class. If the mpl sequence elements contain const qualifiers, these are removed, so T is always a value type.

data() creates a fusion sequence of T,U,V,... from the fusion sequence returned by operator(). It contains the values of the data sources obtained by calling get().

copy() creates a fusion sequence of DataSource<T>::shared_ptr from an mpl sequence and a sequence returned by operator() to do the scripting copy/clone semantics on each element of the sequence.

This is a typical head-tail recursive implementation where operator() calls itself, but in another type specialisation.

Definition at line 182 of file CreateSequence.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:43