std::less<void>
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <functional>
|
||
template<> class less<void>; |
(desde C++14) | |
std::less<void> es una especialización de std::less 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 menor que rhs. (función miembro pública) |
std::less<void>::operator()
<tbody> </tbody> 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
Ejecuta este código
#include <algorithm>
#include <functional>
constexpr bool strictly_negative(int lhs)
{
return std::less<>()(lhs, 0);
}
int main()
{
constexpr signed low = 010;
constexpr unsigned high = 10;
std::less<> less{};
static_assert(less(low, high));
constexpr static auto arr = {0, -1, -2, -3, -4, -5};
static_assert(!std::all_of(arr.begin(), arr.end(), strictly_negative));
static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_negative));
}
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. |