Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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 in-
       vokes operator<
	  on const lvalues of type T with the  argument	 order	inverted.  The
       specialization
	  greater<void>	deduces	the parameter types of the function call oper-
       ator from the
	  arguments (but not the return	type).

	  All specializations of greater are Semiregular.

Member types
	  Member type						       Defini-
       tion
	  is_transparent  (member only of greater<void>	specialization)	/* un-
       specified */

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>
       template)
	  template< class T, class U >

	      requires StrictTotallyOrderedWith<T, U> ||
		       /* std::declval<T>() <			 (member  only
       of greater<void>
	  std::declval<U>()  resolves  to		       (2) specializa-
       tion)
			  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 op-
       erators <, <=, >,
	  >=, == and !=	to be valid (via the StrictTotallyOrdered and  Strict-
       TotallyOrderedWith
	  constraints)	and is entirely	defined	in terms of ranges::less. How-
       ever, the
	  implementation is free to use	operator> directly, because those con-
       cepts 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::ranges::greater&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help