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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::greater - std::greater

Synopsis
	  Defined in header <functional>
	  template<>			  (since C++14)
	  class	greater<void>;

	  std::greater<void>  is a specialization of std::greater with parame-
       ter and return
	  type deduced.

Member functions
	  operator() tests if lhs compares greater than	rhs
		     (public member function)

       std::greater<void>::operator()

	  template< class T, class U >

	  constexpr auto operator()( T&& lhs, U&& rhs )	const

	      -> decltype(std::forward<T>(lhs) > std::forward<U>(rhs));

	  Returns the result of	std::forward<T>(lhs) > std::forward<U>(rhs).

Parameters
	  lhs, rhs - values to compare

Return value
	  std::forward<T>(lhs) > std::forward<U>(rhs).

	  If a built-in	operator comparing pointers is called, the  result  is
       consistent with
	  the implementation-defined strict total order	over pointers.

Exceptions
	  May throw implementation-defined exceptions.

Example
       // Run this code

	#include <algorithm>
	#include <cstdint>
	#include <functional>

	constexpr bool strictly_positive(int lhs)
	{
	    return std::greater<>()(lhs, 0);
	}

	int main()
	{
	    constexpr std::int64_t low = 0B11;
	    constexpr std::uint16_t high = 0X11;
	    std::greater<> greater{};
	    static_assert(greater(high,	low));

	    constexpr static auto arr =	{0, 1, 2, 3, 4,	5};
	    static_assert(!std::all_of(arr.begin(),  arr.end(),	strictly_posi-
       tive));
	    static_assert(std::all_of(arr.begin()     +	    1,	    arr.end(),
       strictly_positive));
	}

	  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 2562 C++98      the pointer total	order might be	    guaranteed
       to be consistent
			      inconsistent

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

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

home | help