| Home | Libraries | People | FAQ | More

## Function require_match

boost::type_erasure::require_match

## Synopsis

    // 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);

## Description

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`(binding, f, args...)` is valid.