std::not_equal_to(3)

NAME
std::not_equal_to - std::not_equal_to

Synopsis
   Defined in header <functional>
   template< class T > (until C++14)
   struct not_equal_to;
   template< class T = void > (since C++14)
   struct not_equal_to;
   Function object for performing comparisons. Unless specialised, invokes operator!=
   on type T.

Specializations
   The standard library provides a specialization of std::not_equal_to
   when T is not specified, which leaves the parameter types and return
   type to be deduced.
                        (since C++14)
   not_equal_to<void> function object implementing x != y deducing
   (C++14) parameter and return types
                      (class template specialization)

Member types
   Type Definition
   result_type (deprecated in C++17)(removed in C++20) bool
   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, bool>.

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
   May throw implementation-defined exceptions.

Possible implementation
   constexpr bool operator()(const T& lhs, const T& rhs) const
   {
       return lhs != rhs;
   }

See also
   equal determines if two sets of elements are the same
                        (function template)
   less function object implementing x < y
                        (class template)
   ranges::not_equal_to constrained function object implementing x != y
   (C++20) (class)