Struct template concept_interface
boost::type_erasure::concept_interface
Synopsis
template<typename Concept, typename Base, typename ID, typename Enable = void>
struct concept_interface : public Base {
};
Description
concept_interfaceКласс может быть специализирован для добавления поведения клюбому.любойнаследует от всех соответствующих специализаций.
concept_interfaceможет быть специализирован для примитивных или составных понятий. Если понятиеC1
содержит другое понятиеC2
, то библиотека гарантирует, что специализацияconcept_interfaceдляC2
является базовым классом специализации дляC1
. Это означает, чтоC1
может безопасно переопределять членыC2
.
concept_interfaceможет быть специализирован только для определенных пользователем концепций. Библиотека владеет собственными специализациями, построенными на концепциях.
Метафункции, полученные,rebind_anyиas_param(которые могут быть применены кBase
), полезны для определения аргумента и типов возвращаемых функций, определенных вConcept_interface.
Для отправки функции используйтевызов.
Template Parameters
ФамилияКонцепция
Мы специализируемся на концепцииconcept_interface
. Один из его держателей должен бытьID
.
ФамилияБаза
Основа этого класса. Специализацииconcept_interface
должны наследоваться публично от этого типа.
ФамилияID
Заполнитель, представляющий этот тип.
имяВключить=пустота
фиктивный параметр, который можно использовать для SFINAE.