Espacios de nombres
Variantes

std::greater<void>

De cppreference.com
 
 
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)
(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.

Tipos anidados

Tipo anidado Definición
is_transparent No especificado.

Funciones miembro

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.

Excepciones

Puede lanzar excepciones definidas por la implementación.

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


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.