...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::type_erasure::binding
// In header: <boost/type_erasure/param.hpp> template<typename Concept> class binding { public: // construct/copy/destruct binding(); template<typename Map> explicit binding(const Map &); template<typename Map> binding(const static_binding< Map > &); template<typename Concept2, typename Map> binding(const binding< Concept2 > &, const Map &); template<typename Concept2, typename Map> binding(const binding< Concept2 > &, const static_binding< Map > &); template<typename Placeholders, typename Map> binding(const dynamic_binding< Placeholders > &, const static_binding< Map > &); // friend functions friend bool operator==(const binding &, const binding &); friend bool operator!=(const binding &, const binding &); };
Stores the binding of a Concept
to a set of actual types. Concept
is interpreted in the same way as with any.
binding
public
construct/copy/destructbinding();
Requires: |
relaxed must be in |
Throws: |
Nothing. |
template<typename Map> explicit binding(const Map &);
Requires: |
|
Throws: |
Nothing. |
template<typename Map> binding(const static_binding< Map > &);
Requires: |
|
Throws: |
Nothing. |
template<typename Concept2, typename Map> binding(const binding< Concept2 > & other, const Map &);
Converts from another set of bindings.
Requires: |
Map must be an MPL map with an entry for each placeholder referred to by |
Throws: |
std::bad_alloc |
template<typename Concept2, typename Map> binding(const binding< Concept2 > & other, const static_binding< Map > &);
Converts from another set of bindings.
Requires: |
Map must be an MPL map with an entry for each placeholder referred to by |
Throws: |
std::bad_alloc |
template<typename Placeholders, typename Map> binding(const dynamic_binding< Placeholders > & other, const static_binding< Map > &);
Converts from another set of bindings.
Requires: |
Map must be an MPL map with an entry for each placeholder referred to by |
Throws: |
std::bad_alloc |
binding
friend functionsfriend bool operator==(const binding & lhs, const binding & rhs);
Returns: |
true iff the sets of types that the placeholders bind to are the same for both arguments. |
Throws: |
Nothing. |
friend bool operator!=(const binding & lhs, const binding & rhs);
Returns: |
true iff the arguments do not map to identical sets of types. |
Throws: |
Nothing. |