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 |