Функция bit_xor
Предопределенный объект функции, который выполняет побитовую операцию побитового исключающего ИЛИ (бинарное operator^) на основе своих аргументов.
template<class Type = void>
struct bit_xor : public binary_function< Type, Type, Type > {
Type operator()(
const Type& Left,
const Type& Right
) const;
};
// specialized transparent functor for operator^
template<>
struct bit_xor<void>
{
template<class Type1, class Type2>
auto operator()(Type1&& Left, Type2&& Right) const
-> decltype(std::forward<Type1>(Left)
^ std::forward<Type2>(Right));
};
Параметры
Type, Type1, Type2
Любой тип, поддерживающий operator^, принимающую операнды определение или возвращаемого типа.Left
Левый операнд побитовой операции побитового исключающего ИЛИ. Неспециализированный шаблон принимает аргумент ссылки значения типа Type. Представляет шаблон повышает препровождение аргументов ссылки rvalue возвращаемого значения и типа Type1.Right
Правый операнд побитовой операции побитового исключающего ИЛИ. Неспециализированный шаблон принимает аргумент ссылки значения типа Type. Представляет шаблон повышает препровождение аргументов ссылки rvalue возвращаемого значения и типа Type2.
Возвращаемое значение
Результат Left^Right. Представляет шаблон повышает препровождение результата, который имеет тип, который возвращается operator^.
Заметки
Функтором bit_xor ограничено целочисленным типам для основных типов данных, или в пользовательские типы, реализующие бинарное operator^.
Требования
Заголовок: <functional>
Пространство имен: std