Scroll to navigation

std::bit_xor(3) C++ Standard Libary std::bit_xor(3)

NAME

std::bit_xor - std::bit_xor

Synopsis


Defined in header <functional>
template< class T > (until C++14)
struct bit_xor;
template< class T = void > (since C++14)
struct bit_xor;


Function object for performing bitwise XOR. Effectively calls operator^ on type T.

Specializations


The standard library provides a specialization of std::bit_xor when T
is not specified, which leaves the parameter types and return type to
be deduced.
(since C++14)
bit_xor<void> function object implementing x ^ y deducing parameter
(C++14) and return types
(class template specialization)

Member types


Type Definition
result_type (deprecated in C++17)(removed in C++20) T
first_argument_type (deprecated in C++17)(removed in C++20) T
second_argument_type (deprecated in C++17)(removed in C++20) T


These member types are obtained via publicly inheriting (until C++11)
std::binary_function<T, T, T>.

Member functions


operator() returns the result of bitwise XOR of two arguments
(public member function)

std::bit_xor::operator()


T operator()( const T& lhs, const T& rhs ) const; (until C++14)
constexpr T operator()( const T& lhs, const T& rhs ) const; (since C++14)


Returns the result of bitwise XOR of lhs and rhs.

Parameters


lhs, rhs - values to compute bitwise XOR of

Return value


The result of lhs ^ rhs.

Exceptions


May throw implementation-defined exceptions.

Possible implementation


constexpr T operator()(const T& lhs, const T& rhs) const
{
return lhs ^ rhs;
}


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 660 C++98 function objects for bitwise operations are added
missing

2024.06.10 http://cppreference.com