Public Types | Private Types
RTT::internal::CollectType< F > Struct Template Reference

#include <CollectSignature.hpp>

List of all members.

Public Types

typedef ft::function_type
< fttype >::type 
Ft
typedef fttype mpl_type
typedef Ft type

Private Types

typedef ft::parameter_types< F >
::type 
arg_type
typedef tt::remove_const
< typename
tt::remove_reference< ret_type >
::type >::type 
bare_ret_type
typedef mpl::if_< typename
mpl::not_< typename
tt::is_void< ret_type >::type >
::type, typename
mpl::push_front< arg_type,
typename tt::add_reference
< bare_ret_type >::type >
::type, arg_type >::type 
basic_sig
typedef mpl::push_front
< no_value_sig, ret_type >
::type 
fttype
typedef mpl::remove_if
< basic_sig, tt::is_const
< tt::remove_reference
< mpl::_1 > > >::type 
no_const_sig
typedef mpl::remove_if
< no_const_sig, mpl::not_
< tt::is_reference< mpl::_1 >
> >::type 
no_value_sig
typedef ft::result_type< F >::type ret_type

Detailed Description

template<class F>
struct RTT::internal::CollectType< F >

This helper struct decomposes F and creates Ft, as required by CollectBaseImpl.

Ft = return type of F and all out arguments (return type + pure reference args) of F as arguments.

Note that the result function type Ft keeps the original return type of F and does not translate it to 'SendStatus'. This allows us later-on to inspect if the operation is void return or not.

Definition at line 75 of file CollectSignature.hpp.


Member Typedef Documentation

template<class F>
typedef ft::parameter_types<F>::type RTT::internal::CollectType< F >::arg_type [private]

Definition at line 81 of file CollectSignature.hpp.

template<class F>
typedef tt::remove_const< typename tt::remove_reference<ret_type>::type >::type RTT::internal::CollectType< F >::bare_ret_type [private]

Definition at line 82 of file CollectSignature.hpp.

template<class F>
typedef mpl::if_< typename mpl::not_< typename tt::is_void<ret_type>::type >::type, typename mpl::push_front< arg_type, typename tt::add_reference< bare_ret_type >::type >::type, arg_type >::type RTT::internal::CollectType< F >::basic_sig [private]

Definition at line 87 of file CollectSignature.hpp.

template<class F>
typedef ft::function_type<fttype>::type RTT::internal::CollectType< F >::Ft

Definition at line 98 of file CollectSignature.hpp.

template<class F>
typedef mpl::push_front< no_value_sig, ret_type>::type RTT::internal::CollectType< F >::fttype [private]

Definition at line 95 of file CollectSignature.hpp.

template<class F>
typedef fttype RTT::internal::CollectType< F >::mpl_type

Definition at line 102 of file CollectSignature.hpp.

template<class F>
typedef mpl::remove_if< basic_sig, tt::is_const< tt::remove_reference<mpl::_1> > >::type RTT::internal::CollectType< F >::no_const_sig [private]

Definition at line 91 of file CollectSignature.hpp.

template<class F>
typedef mpl::remove_if< no_const_sig, mpl::not_<tt::is_reference<mpl::_1> > >::type RTT::internal::CollectType< F >::no_value_sig [private]

Definition at line 93 of file CollectSignature.hpp.

template<class F>
typedef ft::result_type<F>::type RTT::internal::CollectType< F >::ret_type [private]

Definition at line 80 of file CollectSignature.hpp.

template<class F>
typedef Ft RTT::internal::CollectType< F >::type

Definition at line 100 of file CollectSignature.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:38