std::bit_not
| Определён в заголовке <functional>
|
||
template< class T = void >
struct bit_not;
|
(начиная с C++14) | |
Функциональный объект для выполнения побитового NOT. Фактически вызывает 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
;
|
(since 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.