Public Types | Static Public Member Functions
RTT::internal::create_sequence_impl< List, size > Struct Template Reference

#include <CreateSequence.hpp>

List of all members.

Public Types

typedef AssignableDataSource
< ds_arg_type >::shared_ptr 
ads_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_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::TypeInfoGetTypeInfo (int i)
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 void update (const type &seq)

Detailed Description

template<class List, int size>
struct RTT::internal::create_sequence_impl< List, size >

Definition at line 187 of file CreateSequence.hpp.


Member Typedef Documentation

template<class List, int size>
typedef AssignableDataSource< ds_arg_type >::shared_ptr RTT::internal::create_sequence_impl< List, size >::ads_type

Definition at line 211 of file CreateSequence.hpp.

template<class List, int size>
typedef tail::data_type RTT::internal::create_sequence_impl< List, size >::arg_tail_type

Definition at line 227 of file CreateSequence.hpp.

template<class List, int size>
typedef mpl::front<List>::type RTT::internal::create_sequence_impl< List, size >::arg_type

The argument type

Definition at line 197 of file CreateSequence.hpp.

template<class List, int size>
typedef tail::atype RTT::internal::create_sequence_impl< List, size >::atail_type

Definition at line 224 of file CreateSequence.hpp.

template<class List, int size>
typedef bf::cons<ads_type, atail_type> RTT::internal::create_sequence_impl< List, size >::atype

Definition at line 225 of file CreateSequence.hpp.

template<class List, int size>
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 232 of file CreateSequence.hpp.

template<class List, int size>
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 202 of file CreateSequence.hpp.

template<class List, int size>
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 209 of file CreateSequence.hpp.

template<class List, int size>
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 192 of file CreateSequence.hpp.

template<class List, int size>
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 217 of file CreateSequence.hpp.

template<class List, int size>
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 222 of file CreateSequence.hpp.


Member Function Documentation

template<class List, int size>
static atype RTT::internal::create_sequence_impl< List, size >::assignable ( std::vector< base::DataSourceBase::shared_ptr >::const_iterator  args,
int  argnbr = 1 
) [inline, static]

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.

Parameters:
argsA vector of data sources
argnbrLeave as default. Used internally to count recursive calls.
Returns:
a Fusion Sequence of DataSource<T>::shared_ptr objects

Definition at line 258 of file CreateSequence.hpp.

template<class List, int size>
static type RTT::internal::create_sequence_impl< List, size >::copy ( const type seq,
std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned 
) [inline, static]

Copies a sequence of DataSource<T>::shared_ptr according to the copy/clone semantics of data sources.

Parameters:
seqA Fusion Sequence of DataSource<T>::shared_ptr
alreadyClonedthe copy/clone map
Returns:
A Fusion Sequence of DataSource<T>::shared_ptr containing the copies.

Definition at line 304 of file CreateSequence.hpp.

template<class List, int size>
static data_type RTT::internal::create_sequence_impl< List, size >::data ( const type seq) [inline, static]

Returns the data contained in the data sources as a Fusion Sequence.

Parameters:
seqA Fusion Sequence of DataSource<T> types.
Returns:
A sequence of type T holding the values of the DataSource<T>.

Definition at line 272 of file CreateSequence.hpp.

template<class List, int size>
static std::string RTT::internal::create_sequence_impl< List, size >::GetType ( int  i) [inline, static]

Returns the i'th argument type name as returned by DataSource<ArgI>::GetType(), starting from 1.

Parameters:
iA number between 1..N with N being the number of types in the mpl List of this class.
Returns:
An full qualified type name.

Definition at line 334 of file CreateSequence.hpp.

template<class List, int size>
static const types::TypeInfo* RTT::internal::create_sequence_impl< List, size >::GetTypeInfo ( int  i) [inline, static]

Returns the i'th argument type info as returned by DataSource<ArgI>::GetTypeInfo(), starting from 1.

Parameters:
iA number between 1..N with N being the number of types in the mpl List of this class.
Returns:
An Orocos registered type info object.

Definition at line 317 of file CreateSequence.hpp.

template<class List, int size>
static void RTT::internal::create_sequence_impl< List, size >::set ( const data_type in,
const atype seq 
) [inline, static]

Sets the values of a sequence of AssignableDataSource<T> data sources ot the values contained in in using set().

Parameters:
inThe values to write.
seqThe receiving assignable data sources.

Definition at line 282 of file CreateSequence.hpp.

template<class List, int size>
static type RTT::internal::create_sequence_impl< List, size >::sources ( std::vector< base::DataSourceBase::shared_ptr >::const_iterator  args,
int  argnbr = 1 
) [inline, static]

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.

Parameters:
argsA vector of data sources
argnbrLeave as default. Used internally to count recursive calls.
Returns:
a Fusion Sequence of DataSource<T>::shared_ptr objects

Definition at line 242 of file CreateSequence.hpp.

template<class List, int size>
static void RTT::internal::create_sequence_impl< List, size >::update ( const type seq) [inline, static]

Calls the DataSourceBase::updated() function for each element in sequence seq, in case the element is a non-const reference type.

Parameters:
seqA sequence of DataSource<T> objects

Definition at line 292 of file CreateSequence.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Mon Oct 6 2014 03:13:58