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