Namespaces
Variants

std::ranges::less

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programmdienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Funktionsobjekte
Funktionsaufruf
(C++17)(C++23)
Identitäts-Funktionsobjekt
(C++20)
Transparente Operatorwrapper
(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)

Alte Binder und Adaptoren
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
(bis C++17*)(bis C++17*)
(bis C++17*)(bis C++17*)

(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
 
Definiert in Header <functional>
struct less;
(seit C++20)

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

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)