Namespaces
Variants

std::experimental:: negation

From cppreference.net
Определено в заголовке <experimental/type_traits>
template < class B >
struct negation ;
(1) (library fundamentals TS v2)

Формирует логическое отрицание признака типа B .

Тип negation < B > является UnaryTypeTrait с базовой характеристикой std:: integral_constant < bool , ! bool ( B :: value ) > .

Содержание

Параметры шаблона

B - любой тип, для которого выражение bool ( B :: value ) является корректным константным выражением

Шаблон вспомогательной переменной

template < class B >
constexpr bool negation_v = negation < B > :: value ;
(TS библиотеки fundamentals v2)

Унаследовано от std:: integral_constant

Константы-члены

value
[static]
true если B имеет член ::value такой, что ! bool ( B :: value ) равно true , false в противном случае
(публичная статическая константа-член)

Функции-члены

operator bool
преобразует объект в bool , возвращает value
(публичная функция-член)
operator()
(C++14)
возвращает value
(публичная функция-член)

Типы-члены

Тип Определение
value_type bool
type std:: integral_constant < bool , value >

Возможная реализация

template<class B>
struct negation : std::integral_constant<bool, !bool(B::value)> {};

Пример

Смотрите также

(C++17)
метафункция логического НЕ
(шаблон класса)