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>()	< std::declval<U>() resolves  (2) (member only
       of greater<void>
	  to							   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)

http://cppreference.com		  2022.07.31	  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.0>

home | help