...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_MEMBER — Defines a primitive concept for a member function.
// In header: <boost/type_erasure/member.hpp>
BOOST_TYPE_ERASURE_MEMBER(qualified_name, member, N)
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 | |
---|---|
In C++11 the argument N is ignored and may be omitted. BOOST_TYPE_ERASURE_MEMBER will always define a variadic concept. |
Parameters: |
|