A metafunction that allows to acquire the result of the value extraction. More...
#include <value_extraction_fwd.hpp>
Public Types | |
| typedef mpl::eval_if < mpl::is_sequence< T > , mpl::eval_if< mpl::contains < T, DefaultT >, mpl::identity < T >, mpl::push_back< T, DefaultT > >, mpl::if_ < is_same< T, DefaultT >, T, mpl::vector2< T, DefaultT > > >::type | extracted_type |
| typedef mpl::if_ < mpl::is_sequence < extracted_type >, value_ref < extracted_type, TagT > , extracted_type const & > ::type | type |
A metafunction that allows to acquire the result of the value extraction.
The metafunction results in a type that is in form of T const&, if T is not an MPL type sequence and DefaultT is the same as T, or value_ref< TypesT, TagT > otherwise, with TypesT being a type sequence comprising the types from sequence T and DefaultT, if it is not present in T already.
| typedef mpl::eval_if< mpl::is_sequence< T >, mpl::eval_if< mpl::contains< T, DefaultT >, mpl::identity< T >, mpl::push_back< T, DefaultT > >, mpl::if_< is_same< T, DefaultT >, T, mpl::vector2< T, DefaultT > > >::type boost::result_of::extract_or_default< T, DefaultT, TagT >::extracted_type |
| typedef mpl::if_< mpl::is_sequence< extracted_type >, value_ref< extracted_type, TagT >, extracted_type const& >::type boost::result_of::extract_or_default< T, DefaultT, TagT >::type |