std::experimental::ranges::greater

Header: <experimental/ranges/functional>

Function object for performing comparisons. The primary template invokes operator< on const lvalues of type T with the argument order inverted. The specialization greater deduces the parameter types of the function call operator from the arguments (but not the return type).

# Declarations

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

(ranges TS)

template<>
struct greater<void>;

(ranges TS)

# Notes

Unlike std::greater, ranges::greater requires all six comparison operators <, <=, >, >=, == and != to be valid (via the StrictTotallyOrdered and StrictTotallyOrderedWith constraints) and is entirely defined in terms of ranges::less. However, the implementation is free to use operator> directly, because those concepts require the results of the comparison operators to be consistent.

# Example

This section is incompleteReason: no example

# See also