std::bit_xor
                  template< class T >
struct bit_xor; 
 |    |   (until C++14)  |  
   template< class T = void >
struct bit_xor; 
 |    |   (since C++14)  |  
   
 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. 
  |    |   function object implementing x ^ y deducing argument and return types   (class template specialization)  | 
     |  (since C++14) | 
 
  
  Member types   |  Type  |   Definition  | 
    result_type(deprecated in C++17)  |   T  | 
    first_argument_type(deprecated in C++17)  |   T  | 
    second_argument_type(deprecated in C++17)  |   T  | 
     |  (until C++20) | 
 
 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
 (none).
 Possible implementation
    constexpr T operator()(const T &lhs, const T &rhs) const 
{
    return lhs ^ rhs;
}   |