Namespaces
Variants

std::experimental::ranges:: greater

From cppreference.net
Definido en el encabezado <experimental/ranges/functional>
template < class T = void >

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

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

Objeto función para realizar comparaciones. La plantilla principal invoca operator < en lvalues constantes de tipo T con el orden de argumentos invertido. La especialización greater<void> deduce los tipos de parámetros del operador de llamada a función de los argumentos (pero no el tipo de retorno).

Todas las especializaciones de greater son Semiregular .

Contenidos

Tipos de miembros

Tipo de miembro Definición
is_transparent (miembro solo de la especialización greater<void> ) /* no especificado */

Funciones miembro

operator()
verifica si el primer argumento es mayor que el segundo
(función miembro pública)

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

constexpr bool operator ( ) ( const T & x, const T & y ) const ;
(1) (miembro solo de la plantilla principal greater<T> )
template < class T, class U >

requires StrictTotallyOrderedWith < T, U > ||
/* std::declval<T>() < std::declval<U>() se resuelve a
un operador incorporado que compara punteros */

constexpr bool operator ( ) ( T && t, U && u ) const ;
(2) (miembro solo de la especialización greater<void> )
1) Compara x y y . Equivalente a return ranges:: less <> { } ( y, x ) ; .
2) Compara t y u . Equivalente a return ranges:: less <> { } ( std:: forward < U > ( u ) , std:: forward < T > ( t ) ) ; .

Notas

A diferencia de std::greater , ranges::greater requiere que los seis operadores de comparación < , <= , > , >= , == y != sean válidos (mediante las restricciones StrictTotallyOrdered y StrictTotallyOrderedWith ) y está completamente definido en términos de ranges::less . Sin embargo, la implementación puede utilizar directamente operator > , ya que esos conceptos requieren que los resultados de los operadores de comparación sean consistentes.

Ejemplo

Véase también

objeto función que implementa x > y
(plantilla de clase)