Spec-Zone.ru › C++

std::logical_not

Определено в заголовке <functional>
template< class T >
struct logical_not;
(до C++14)
template< class T = void >
struct logical_not;
(с C++14)

Объект-функция для выполнения логического НЕ (логического отрицания). Эффективно вызывает operator! для типа T.

Специализации

Стандартная библиотека предоставляет специализацию std::logical_not, когда T не указан, что позволяет вывести типы параметров и тип возвращаемого значения.

logical_not<void>
(C++14)
объект-функция, реализующий !x, выводящий типы аргументов и возвращаемого значения
(специализация шаблона класса)
(с C++14)

Типы-члены

Тип Определение
result_type (устарело в C++17)(удалено в C++20) bool
argument_type (устарело в C++17)(удалено в C++20) T

Эти типы-члены получаются путём публичного наследования от std::unary_function<T, bool>.

(до C++11)

Члены-функции

operator()
возвращает логическое НЕ аргумента
(публичная функция-член)

std::logical_not::operator()

bool operator()( const T& arg ) const;
(до C++14)
constexpr bool operator()( const T& arg ) const;
(с C++14)

Возвращает логическое НЕ от arg.

Параметры

arg - значение, для которого нужно вычислить логическое НЕ

Возвращаемое значение

Результат !arg.

Исключения

Может выбросить исключение, определённое реализацией.

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

constexpr // since C++14
bool operator()(const T& arg) const 
{
    return !arg;
}

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/logical_not

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API