#include <CreateSequence.hpp>
Public Types | |
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 Public Member Functions | |
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) |
Definition at line 151 of file CreateSequence.hpp.
typedef AssignableDataSource< ds_arg_type >::shared_ptr RTT::internal::create_sequence_impl< List, size >::ads_type |
Definition at line 217 of file CreateSequence.hpp.
typedef tail::data_store_type RTT::internal::create_sequence_impl< List, size >::arg_store_tail_type |
Definition at line 234 of file CreateSequence.hpp.
typedef AStore<arg_type> RTT::internal::create_sequence_impl< List, size >::arg_store_type |
The argument storage type
Definition at line 203 of file CreateSequence.hpp.
typedef tail::data_type RTT::internal::create_sequence_impl< List, size >::arg_tail_type |
Definition at line 233 of file CreateSequence.hpp.
typedef mpl::front<List>::type RTT::internal::create_sequence_impl< List, size >::arg_type |
The argument type
Definition at line 198 of file CreateSequence.hpp.
typedef tail::atype RTT::internal::create_sequence_impl< List, size >::atail_type |
Definition at line 230 of file CreateSequence.hpp.
typedef bf::cons<ads_type, atail_type> RTT::internal::create_sequence_impl< List, size >::atype |
Definition at line 231 of file CreateSequence.hpp.
typedef bf::cons<arg_store_type, arg_store_tail_type> RTT::internal::create_sequence_impl< List, size >::data_store_type |
The joint T data storage type of head and tail.
Definition at line 244 of file CreateSequence.hpp.
typedef bf::cons<arg_type, arg_tail_type> RTT::internal::create_sequence_impl< List, size >::data_type |
The joint T data type of head and tail.
Definition at line 239 of file CreateSequence.hpp.
typedef remove_cr<arg_type>::type RTT::internal::create_sequence_impl< List, size >::ds_arg_type |
The data source value type of an assignable data source is non-const, non-reference.
Definition at line 208 of file CreateSequence.hpp.
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 RTT::internal::create_sequence_impl< List, size >::ds_type |
The type of a single element of the vector.
Definition at line 215 of file CreateSequence.hpp.
typedef create_sequence<typename mpl::pop_front<List>::type> RTT::internal::create_sequence_impl< List, size >::tail |
The tail is ourselves minus the head.
Definition at line 193 of file CreateSequence.hpp.
typedef tail::type RTT::internal::create_sequence_impl< List, size >::tail_type |
The type of the tail (List - head) of our sequence. It is recursively formulated in terms of create_sequence.
Definition at line 223 of file CreateSequence.hpp.
typedef bf::cons<ds_type, tail_type> RTT::internal::create_sequence_impl< List, size >::type |
The joint DataSource<T>::shared_ptr type of head and tail, again a fusion cons.
Definition at line 228 of file CreateSequence.hpp.
|
inlinestatic |
Converts a std::vector of DataSourceBase types into a boost::fusion Sequence of AssignableDataSources of the types given in List. Will throw if an element of the vector could not be dynamic casted to the respective element type of List.
args | A vector of data sources |
argnbr | Leave as default. Used internally to count recursive calls. |
Definition at line 270 of file CreateSequence.hpp.
|
inlinestatic |
Copies a sequence of DataSource<T>::shared_ptr according to the copy/clone semantics of data sources.
seq | A Fusion Sequence of DataSource<T>::shared_ptr |
alreadyCloned | the copy/clone map |
Definition at line 341 of file CreateSequence.hpp.
|
inlinestatic |
Returns the data contained in the data sources as a Fusion Sequence.
seq | A Fusion Sequence of DataSource<T> types. |
Definition at line 284 of file CreateSequence.hpp.
|
inlinestatic |
Returns the i'th argument type name as returned by DataSource<ArgI>::GetType(), starting from 1.
Definition at line 371 of file CreateSequence.hpp.
|
inlinestatic |
Returns the i'th argument type info as returned by DataSource<ArgI>::GetTypeInfo(), starting from 1.
Definition at line 354 of file CreateSequence.hpp.
|
inlinestatic |
Sets the values of a sequence of AssignableDataSource<T> data sources ot the values contained in in using set().
in | The values to write. |
seq | The receiving assignable data sources. Because the datasources are shared pointers, it's ok to work on the temporary copies of seq. |
Definition at line 307 of file CreateSequence.hpp.
|
inlinestatic |
Sets the values of a sequence of AssignableDataSource<T> data sources ot the values contained in in using set().
in | The values to write. |
seq | The receiving assignable data sources. |
Definition at line 294 of file CreateSequence.hpp.
|
inlinestatic |
Converts a std::vector of DataSourceBase types into a boost::fusion Sequence of DataSources of the types given in List. Will throw if an element of the vector could not be dynamic casted to the respective element type of List.
args | A vector of data sources |
argnbr | Leave as default. Used internally to count recursive calls. |
Definition at line 254 of file CreateSequence.hpp.
|
inlinestatic |
Stores the values of a sequence of data_type into a data_store_type sequence for later retrieval during load. We must return the resulting sequence by value, since boost fusion returns temporaries, which we can't take a reference to.
in | The values to store |
Definition at line 320 of file CreateSequence.hpp.
|
inlinestatic |
Calls the DataSourceBase::updated() function for each element in sequence seq, in case the element is a non-const reference type.
seq | A sequence of DataSource<T> objects |
Definition at line 329 of file CreateSequence.hpp.