Namespaces
Variants

std::ranges::less

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
Objetos función
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de operadores 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)
(C++14)

Enlazadores 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++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 encabezado <functional>
struct less;
(desde C++20)

Objeto función para realizar comparaciones. Deduce los tipos de parámetros del operador de llamada a función a partir de los argumentos (pero no del tipo de retorno).

Tipos anidados

Tipo anidado Definición
is_transparent unspecified

Funciones miembro

operator()
verifica si el primer argumento es menor que el segundo
(función miembro pública)

std::ranges::less:: operator()

template < class T, class U >
constexpr bool operator ( ) ( T && t, U && u ) const ;

Dada la expresión std:: forward < T > ( t ) < std:: forward < U > ( u ) como expr :

  • En caso contrario:

Esta sobrecarga participa en la resolución de sobrecarga solo si std:: totally_ordered_with < T, U > se satisface.

Si existe una expresión expr1 de tipo T y una expresión expr2 de U , tal que los resultados de comparación de expr1 y expr2 violan el orden total estricto (las reglas se definen a continuación), el comportamiento es indefinido.

Los resultados de comparación de expr1 y expr2 siguen un orden total estricto solo si exactamente una de las siguientes expresiones es true :

Notas

A diferencia de std::less , std::ranges::less requiere que los seis operadores de comparación < , <= , > , >= , == y != sean válidos (mediante la restricción totally_ordered_with ).

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3530 C++20 se relajaron las verificaciones sintácticas al comparar punteros solo se relajan los requisitos semánticos

Véase también

objeto función que implementa x < y
(plantilla de clase)