Namespaces
Variants

std::ranges:: less

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
Défini dans l'en-tête <functional>
struct less ;
(depuis C++20)

Objet fonction pour effectuer des comparaisons. Déduit les types de paramètres de l'opérateur d'appel de fonction à partir des arguments (mais pas le type de retour).

Table des matières

Types imbriqués

Type imbriqué Définition
is_transparent unspecified

Fonctions membres

operator()
vérifie si le premier argument est inférieur au second
(fonction membre publique)

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

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

Étant donnée l'expression std:: forward < T > ( t ) < std:: forward < U > ( u ) comme expr :

  • Sinon :

Cette surcharge participe à la résolution de surcharge seulement si std:: totally_ordered_with < T, U > est satisfait.

S'il existe une expression expr1 de type T et une expression expr2 de type U , telles que les résultats de comparaison de expr1 et expr2 violent l'ordre total strict (les règles sont définies ci-dessous), le comportement est indéfini.

Les résultats de comparaison de expr1 et expr2 suivent un ordre total strict seulement si exactement une des expressions suivantes est true :

Notes

Contrairement à std::less , std::ranges::less requiert que les six opérateurs de comparaison < , <= , > , >= , == et != soient valides (via la contrainte totally_ordered_with ).

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
LWG 3530 C++20 les vérifications syntaxiques ont été assouplies lors de la comparaison de pointeurs seules les exigences sémantiques sont assouplies

Voir aussi

objet fonction implémentant x < y
(modèle de classe)