| 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 |