std::not_equal_to
                 | template< class T >
struct not_equal_to; |  | (until C++14) | 
  | template< class T = void >
struct not_equal_to; |  | (since C++14) | 
   
 Function object for performing comparisons. Unless specialised, invokes operator!= on type T.
Specializations
  
| The standard library provides a specialization of std::not_equal_towhenTis not specified, which leaves the parameter types and return type to be deduced.   |  | function object implementing x != ydeducing argument and return types(class template specialization)
 |  | (since C++14) | 
 
  
|  Member types  | Type | Definition |   | result_type(deprecated in C++17) | bool |   | first_argument_type(deprecated in C++17) | T |   | second_argument_type(deprecated in C++17) | T |  | (until C++20) | 
 
 Member functions
   | operator() | checks if the arguments are not equal (public member function)
 | 
 
    std::not_equal_to::operator() 
     | bool operator()( const T& lhs, const T& rhs ) const; |  | (until C++14) | 
  | constexpr bool operator()( const T& lhs, const T& rhs ) const; |  | (since C++14) | 
   
 Checks whether lhs is not equal to rhs.
 Parameters
   | lhs, rhs | - | values to compare | 
  Return value
 true if lhs != rhs, false otherwise.
 Exceptions
 (none).
 Possible implementation
   | constexpr bool operator()(const T &lhs, const T &rhs) const 
{
    return lhs != rhs;
} |