Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Struct template deduced



// In header: <boost/type_erasure/deduced.hpp>

template<typename Metafunction> 
struct deduced : public boost::type_erasure::placeholder {
  // types
  typedef unspecified type;


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.