Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::type_erasure::deduced< Metafunction > Struct Template Reference

A placeholder for an associated type. More...

#include <deduced.hpp>

Inheritance diagram for boost::type_erasure::deduced< Metafunction >:
Collaboration diagram for boost::type_erasure::deduced< Metafunction >:

Public Types

typedef ::boost::mpl::eval_if
< ::boost::mpl::empty
< typename::boost::type_erasure::detail::get_placeholders
< Metafunction,::boost::mpl::set0
<> >::type >, Metafunction,::boost::mpl::identity
< ::boost::type_erasure::deduced
< Metafunction > > >::type 
type
 

Detailed Description

template<class Metafunction>
struct boost::type_erasure::deduced< Metafunction >

A placeholder for an associated type.

The type corresponding to this placeholder is deduced by substituting placeholders in the arguments of the metafunction and then evaluating it.

When using deduced in a template context, if it is possible for Metafunction to contain no placeholders at all, use the nested type, to automatically evaluate it early as needed.

Member Typedef Documentation

template<class Metafunction >
typedef ::boost::mpl::eval_if< ::boost::mpl::empty< typename ::boost::type_erasure::detail::get_placeholders< Metafunction, ::boost::mpl::set0<> >::type >, Metafunction, ::boost::mpl::identity< ::boost::type_erasure::deduced<Metafunction> > >::type boost::type_erasure::deduced< Metafunction >::type

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