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