...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::require_match
// In header: <boost/type_erasure/require_match.hpp> template<typename Concept, typename Op, class... U> void require_match(const binding< Concept > & binding, const Op & f, U &&... args); template<typename Op, class... U> void require_match(const Op & f, U &&... args);
Checks that the actual types stored in all the any
arguments match the types specified by binding
. If they do not match then,
If relaxed
is in Concept
, throws bad_function_call
.
Otherwise the behavior is undefined.
If binding
is not specified, it will be deduced from the arguments.
Postconditions: |
call |