The concept_interface class can be specialized to add behavior to an any. More...
#include <concept_interface.hpp>
The concept_interface class can be specialized to add behavior to an any.
An any inherits from all the relevant specializations of concept_interface.
concept_interface can be specialized for either primitive or composite concepts. If a concept C1
contains another concept C2
, then the library guarantees that the specialization of concept_interface for C2
is a base class of the specialization for C1
. This means that C1
can safely override members of C2
.
concept_interface may only be specialized for user-defined concepts. The library owns the specializations of its own built in concepts.
Concept | The concept that we're specializing concept_interface for. One of its placeholders should be ID . |
Base | The base of this class. Specializations of concept_interface must inherit publicly from this type. |
ID | The placeholder representing this type. |
Enable | A dummy parameter that can be used for SFINAE. |
The metafunctions derived, rebind_any, and as_param (which can be applied to Base
) are useful for determining the argument and return types of functions defined in concept_interface.
For dispatching the function use .