Boost C++ Libraries

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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Macro BOOST_TYPE_ERASURE_MEMBER

BOOST_TYPE_ERASURE_MEMBER — Defines a primitive concept for a member function.

Synopsis

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

BOOST_TYPE_ERASURE_MEMBER(qualified_name, member, N)

Description

The declaration of the concept is

template<class Sig, class T = _self>
struct ::namespace1::namespace2::...::concept_name;

where Sig is a function type giving the signature of the member function, and T is the object type. T may be const-qualified for const member functions.

This macro can only be used in the global namespace.

Example:

BOOST_TYPE_ERASURE_MEMBER((boost)(has_push_back), push_back, 1)
typedef boost::has_push_back<void(int), _self> push_back_concept;
[Note] Note

In C++11 the argument N is ignored and may be omitted. BOOST_TYPE_ERASURE_MEMBER will always define a variadic concept.

Parameters:

N

is the number of arguments of the function.

member

is the name of the member function.

qualified_name

should be a preprocessor sequence of the form (namespace1)(namespace2)...(concept_name).


PrevUpHomeNext