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* )
Definiert im Header <functional>
struct less ;
(seit C++20)

Funktionsobjekt zum Durchführen von Vergleichen. Leitet die Parametertypen des Funktionsaufrufoperators aus den Argumenten ab (aber nicht den Rückgabetyp).

Inhaltsverzeichnis

Verschachtelte Typen

Geschachtelter Typ Definition
is_transparent unspecified

Memberfunktionen

operator()
prüft, ob das erste Argument kleiner als das zweite ist
(öffentliche Elementfunktion)

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

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

Gegeben den Ausdruck std:: forward < T > ( t ) < std:: forward < U > ( u ) als expr :

  • Andernfalls:

Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: totally_ordered_with < T, U > erfüllt ist.

Wenn es einen Ausdruck expr1 vom Typ T und einen Ausdruck expr2 vom Typ U gibt, sodass die Vergleichsergebnisse von expr1 und expr2 gegen die strenge Totalordnung verstoßen (Regeln sind unten definiert), ist das Verhalten undefiniert.

Die Vergleichsergebnisse von expr1 und expr2 folgen einer strengen Totalordnung nur, wenn genau einer der folgenden Ausdrücke true ist:

Hinweise

Im Gegensatz zu std::less erfordert std::ranges::less alle sechs Vergleichsoperatoren < , <= , > , >= , == und != gültig zu sein (über die totally_ordered_with -Einschränkung).

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3530 C++20 syntaktische Prüfungen wurden beim Vergleich von Zeigern gelockert nur semantische Anforderungen werden gelockert

Siehe auch

Funktionsobjekt, das x < y
(Klassentemplate)