std::bit_not
Определено в заголовке <functional> | ||
|---|---|---|
template< class T = void > struct bit_not; | (с C++14) |
Объект-функция для выполнения побитового отрицания. Эффективно вызывает operator~ для типа T.
Специализации
Стандартная библиотека предоставляет специализацию std::bit_not, когда T не указано, что оставляет типы параметров и возвращаемый тип для вывода.
|
(C++14) | объект-функция, реализующий ~x выводящий типы аргумента и возвращаемого значения (специализация шаблона класса) |
Типы членов
| Тип | Определение |
|---|---|
result_type (устарело в C++17)(удалено в C++20) | T |
argument_type (устарело в C++17)(удалено в C++20) | T |
Члены-функции
| operator()
(C++14) | возвращает результат побитового отрицания своего аргумента (публичная функция-член) |
std::bit_not::operator()
constexpr T operator()( const T& arg ) const; | (с C++14) |
Возвращает результат побитового отрицания arg.
Параметры
| arg | - | значение, для которого нужно вычислить побитовое отрицание |
Возвращаемое значение
Результат ~arg.
Исключения
Может выбросить исключение, определённое реализацией.
Возможная реализация
constexpr T operator()(const T& arg) const
{
return ~arg;
} |
Примечания
Хотя std::bit_not добавлен через предложение после C++11 N3421, в общих реализациях он рассматривается как часть решения проблемы LWG issue 660 (кроме его прозрачной специализации std::bit_not<>), и, следовательно, доступен в их режиме C++98/03.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/bit_not