std:: bit_not
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовке
<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
;
|
(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.