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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges::greater(3)	      C++ Standard Libary      std::ranges::greater(3)

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

Synopsis
	  Defined in header <functional>
	  struct greater;		  (since C++20)

	  Function  object  for	 performing comparisons. Deduces the parameter
       types of	the
	  function call	operator from the arguments (but not the return	type).

	 Implementation-defined	strict total order over	pointers

	  The function call operator yields the	implementation-defined	strict
       total order over
	  pointers if the < operator between arguments invokes a built-in com-
       parison operator
	  for a	pointer, even if the built-in <	operator does not.

	  The implementation-defined strict total order	is consistent with the
       partial order
	  imposed  by  built-in	 comparison operators (<=>, <, >, <=, and >=),
       and consistent
	  among	following standard function objects:

	    *	  std::less,	  std::greater,	     std::less_equal,	   and
       std::greater_equal, when	the
	      template argument	is a pointer type or void

	    *	      std::ranges::equal_to,	    std::ranges::not_equal_to,
       std::ranges::less,
	      std::ranges::greater,		      std::ranges::less_equal,
       std::ranges::greater_equal, and
	      std::compare_three_way

Member types
	  Member type	 Definition
	  is_transparent /* unspecified	*/

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

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

	  template< class T, class U >

	  requires  std::totally_ordered_with<T, U> // with different semantic
       requirements

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

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

Notes
	  Unlike  std::greater,	std::ranges::greater requires all six compari-
       son operators <,
	  <=, >, >=, ==	and != to be valid (via	the totally_ordered_with  con-
       straint)	and is
	  entirely defined in terms of std::ranges::less.

Example
	   This	section	is incomplete
	   Reason: no example

	 Defect	reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	    Applied to	       Behavior	as published		  Cor-
       rect behavior
	  LWG 3530 C++20      syntactic	checks were relaxed while    only  se-
       mantic requirements
			      comparing	pointers		    relaxed

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

http://cppreference.com		  2022.07.31	       std::ranges::greater(3)

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

home | help