Espacios de nombres
Variantes
Acciones

std::greater<void>

De cppreference.com
< cpp‎ | utility‎ | functional
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador transparentes
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
greater<>
(C++14)
(C++14)
Negadores
(C++17)
Buscadores
Comparadores restringidos
Vinculadores y adaptadores antiguos
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
(hasta C++17)(hasta C++17)
(hasta C++17)(hasta C++17)

(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
 
Definido en el archivo de encabezado <functional>
template<>
class greater<void>;
(desde C++14)

std::greater<void> es una especialización de std::greater con el tipo de parámetro y el tipo de retorno deducidos.

Contenido

[editar] Tipos anidados

Tipo anidado Definición
is_transparent No especificado.

[editar] Funciones miembro

operator()
Prueba si lhs se compara mayor que rhs.
(función miembro pública)

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));

Devuelve el resultado de std::forward<T>(lhs) > std::forward<U>(rhs).

Parámetros

lhs, rhs - Los valores a comparar.

Valor de retorno

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

Si se llama a un operador integrado que compara punteros, el resultado es consistente con el orden total estricto sobre punteros.

[editar] Excepciones

Puede lanzar excepciones definidas por la implementación.

[editar] Ejemplo

#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_positive));
    static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_positive));
}


[editar] Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 2562 C++98 El orden total de punteros podría ser inconsistente. Se garantiza que es consistente.