std::bit_not
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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) |
возвращает результат побитового НЕ своего аргумента (public функция-элемент) |
std::bit_not::operator()
<tbody> </tbody> constexpr T operator()( const T& arg ) const; |
(начиная с C++14) | |
Возвращает результат побитового НЕ arg.
Параметры
| arg | — | значение для вычисления побитового НЕ |
Возвращаемое значение
Результат ~arg.
Исключения
Может генерировать исключения, определённые реализацией.
Возможная реализация
constexpr T operator()(const T& arg) const
{
return ~arg;
}
|
Примечание
Хотя std::bit_not добавлен в предложении N3421 после C++11, он рассматривается как часть разрешения для LWG проблема 660 (за исключением его прозрачной специализации std::bit_not<>) в обычных реализациях, и поэтому доступен в режиме C++98/03.