std::greater<void>
De cppreference.com
< cpp | utility | functional
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 > constexprauto operator()( T&& lhs, U&& rhs )const | ||
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
Ejecuta este código
#include <algorithm>#include <cstdint>#include <functional> constexprbool strictly_positive(int lhs){returnstd::greater<>()(lhs, 0);} int main(){constexprstd::int64_t low =0B11;constexprstd::uint16_t high =0X11;std::greater<> greater{}; static_assert(greater(high, low)); constexprstaticauto 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. |