home | help
std::experi...es::greater(3)   C++ Standard Libary  std::experi...es::greater(3)

NAME
     std::experimental::ranges::greater - std::experimental::ranges::greater

Synopsis
	Defined in header <experimental/ranges/functional>
	template< class T = void >

	    requires StrictTotallyOrdered<T> ||
		     Same<T,			   void>		      ||
     (ranges TS)
		     /* < on two const T lvalues invokes a built-in operator
	comparing pointers */

	struct greater;
	template<>
     (ranges TS)
	struct greater<void>;

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

	All specializations of greater are Semiregular.

Member types
	Member type						     Definition
	is_transparent (member only of greater<void> specialization) /* unspeci-
     fied */

Member functions
	operator() checks if the first argument is greater than the second
		   (public member function)

     std::experimental::ranges::greater::operator()

	constexpr bool operator()(const T& x, const T& y)  (1) (member	only  of
     primary
	const;							greater<T>  tem-
     plate)
	template< class T, class U >

	    requires StrictTotallyOrderedWith<T, U> ||
		     /* std::declval<T>() <		       (member	only  of
     greater<void>
	std::declval<U>() resolves to			   (2) specialization)
			a built-in operator comparing
	pointers */

	constexpr bool operator()(T&& t, U&& u) const;

	1) Compares x and y. Equivalent to return ranges::less<>{}(y, x);.
	2)  Compares  t  and  u. Equivalent to return ranges::less<>{}(std::for-
     ward<U>(u),
	std::forward<T>(t));.

Notes
	Unlike std::greater, ranges::greater requires all six comparison  opera-
     tors <, <=, >,
	>=, == and != to be valid (via the StrictTotallyOrdered and StrictTotal-
     lyOrderedWith
	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 incomplete
	 Reason: no example

See also
	greater function object implementing x > y
		(class template)

Category:
	  * Todo no example

http://cppreference.com 	   2024.06.10	    std::experi...es::greater(3)

home | help