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.