|
typedef AssignableDataSource< ds_arg_type >::shared_ptr | ads_type |
|
typedef tail::data_store_type | arg_store_tail_type |
|
typedef AStore< arg_type > | arg_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_type > | atype |
|
typedef bf::cons< arg_store_type, arg_store_tail_type > | data_store_type |
|
typedef bf::cons< arg_type, arg_tail_type > | data_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 >::type > | tail |
|
typedef tail::type | tail_type |
|
typedef bf::cons< ds_type, tail_type > | type |
|
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::TypeInfo * | GetTypeInfo (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) |
|
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.