std::experimental::ranges:: greater
|
Definido en el encabezado
<experimental/ranges/functional>
|
||
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(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
>
||
|
(2) |
(miembro solo de la especialización
greater<void>
)
|
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
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
objeto función que implementa
x
>
y
(plantilla de clase) |