std::experimental::ranges::not_equal_to

Header: <experimental/ranges/functional>

Function object for performing comparisons. The primary template invokes operator == on const lvalues of type T and negates the result. The specialization not_equal_to deduces the parameter types of the function call operator from the arguments (but not the return type).

# Declarations

template< class T = void >
requires EqualityComparable<T> ||
Same<T, void> ||
/* == on two const T lvalues invokes a built-in operator comparing pointers */
struct not_equal_to;

(ranges TS)

template<>
struct not_equal_to<void>;

(ranges TS)

# Notes

Unlike std::not_equal_to, ranges::not_equal_to requires both == and != to be valid (via the EqualityComparable and EqualityComparableWith constraints), and is entirely defined in terms of ranges::equal_to. However, the implementation is free to use operator!= directly, because those concepts require the results of == and != to be consistent.

# Example

This section is incompleteReason: no example

# See also