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::binding< Concept > Singleton Reference

Stores the binding of a Concept to a set of actual types. More...

#include <require_match.hpp>

Public Member Functions

 binding ()
 
template<class Map >
 binding (const Map &)
 
template<class Map >
 binding (const static_binding< Map > &)
 
template<class Concept2 , class Map >
 binding (const binding< Concept2 > &other, const Map &, typename::boost::enable_if< ::boost::mpl::and_< ::boost::type_erasure::detail::check_map< Concept, Map >,::boost::type_erasure::is_subconcept< Concept, Concept2, Map > > >::type *=0)
 Converts from another set of bindings. More...
 
template<class Concept2 , class Map >
 binding (const binding< Concept2 > &other, const static_binding< Map > &, typename::boost::enable_if< ::boost::mpl::and_< ::boost::type_erasure::detail::check_map< Concept, Map >,::boost::type_erasure::is_subconcept< Concept, Concept2, Map > > >::type *=0)
 Converts from another set of bindings. More...
 
template<class T >
T::type find () const
 INTERNAL ONLY. More...
 

Friends

template<class C2 >
class binding
 
bool operator== (const binding &lhs, const binding &rhs)
 
bool operator!= (const binding &lhs, const binding &rhs)
 

Detailed Description

template<class Concept>
singleton boost::type_erasure::binding< Concept >

Stores the binding of a Concept to a set of actual types.

Concept is interpreted in the same way as with any.

Constructor & Destructor Documentation

template<class Concept>
boost::type_erasure::binding< Concept >::binding ( )
inline
Precondition
relaxed must be in Concept.
Exceptions
Nothing.

References BOOST_MPL_ASSERT.

template<class Concept>
template<class Map >
boost::type_erasure::binding< Concept >::binding ( const Map &  )
inlineexplicit
Precondition
Map must be an MPL map with an entry for each placeholder referred to by Concept.
Exceptions
Nothing.
template<class Concept>
template<class Map >
boost::type_erasure::binding< Concept >::binding ( const static_binding< Map > &  )
inline
Precondition
Map must be an MPL map with an entry for each placeholder referred to by Concept.
Exceptions
Nothing.
template<class Concept>
template<class Concept2 , class Map >
boost::type_erasure::binding< Concept >::binding ( const binding< Concept2 > &  other,
const Map &  ,
typename::boost::enable_if< ::boost::mpl::and_< ::boost::type_erasure::detail::check_map< Concept, Map >,::boost::type_erasure::is_subconcept< Concept, Concept2, Map > > >::type = 0 
)
inline

Converts from another set of bindings.

Precondition
Map must be an MPL map with an entry for each placeholder referred to by Concept. The mapped type should be the corresponding placeholder in Concept2.
Exceptions
std::bad_alloc
template<class Concept>
template<class Concept2 , class Map >
boost::type_erasure::binding< Concept >::binding ( const binding< Concept2 > &  other,
const static_binding< Map > &  ,
typename::boost::enable_if< ::boost::mpl::and_< ::boost::type_erasure::detail::check_map< Concept, Map >,::boost::type_erasure::is_subconcept< Concept, Concept2, Map > > >::type = 0 
)
inline

Converts from another set of bindings.

Precondition
Map must be an MPL map with an entry for each placeholder referred to by Concept. The mapped type should be the corresponding placeholder in Concept2.
Exceptions
std::bad_alloc

Member Function Documentation

template<class Concept>
template<class T >
T::type boost::type_erasure::binding< Concept >::find ( ) const
inline

INTERNAL ONLY.

References T.

Friends And Related Function Documentation

template<class Concept>
template<class C2 >
friend class binding
friend
template<class Concept>
bool operator!= ( const binding< Concept > &  lhs,
const binding< Concept > &  rhs 
)
friend
Returns
true iff the arguments do not map to identical sets of types.
Exceptions
Nothing.
template<class Concept>
bool operator== ( const binding< Concept > &  lhs,
const binding< Concept > &  rhs 
)
friend
Returns
true iff the sets of types that the placeholders bind to are the same for both arguments.
Exceptions
Nothing.

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