std::bit_and
                  template< class T >
struct bit_and; 
 |    |   (until C++14)  |  
   template< class T = void >
struct bit_and; 
 |    |   (since C++14)  |  
   
 Function object for performing bitwise AND. Effectively calls operator& on type T.
Specializations
  
|   The standard library provides a specialization of std::bit_and 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 AND of two arguments   (public member function)  | 
 
    std::bit_and::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 AND of lhs and rhs.
 Parameters
   |  lhs, rhs  |   -  |   values to compute bitwise AND 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;
}   |