std::experimental::ranges::less_equal
| Definiert in Header <experimental/ranges/functional> |
||
| template< class T = void > erfordert StrictTotallyOrdered<T> || |
(Ranges TS) | |
| template<> struct less_equal<void>; |
(Ranges TS) | |
Funktionsobjekt für Vergleiche. Die Primärvorlage ruft operator< auf const lvalues vom Typ T mit vertauschter Argumentreihenfolge auf und negiert dann das Ergebnis. Die Spezialisierung less_equal<void> leitet die Parametertypen des Funktionsaufrufoperators aus den Argumenten ab (nicht aber den Rückgabetyp).
Alle Spezialisierungen von less_equal sind Semiregular.
Inhalt |
[edit] Member types
| Mitgliedertyp | Definition |
is_transparent (nur Mitglied der Spezialisierung less_equal<void>) |
/* nicht spezifiziert */ |
[edit] Member functions
| operator() |
prüft, ob das erste Argument kleiner als oder gleich dem zweiten ist (öffentliche Memberfunktion) |
std::experimental::ranges::less_equal::operator()
| constexpr bool operator()(const T& x, const T& y) const; |
(1) | (nur Mitglied der primären Vorlage less_equal<T>) |
| template< class T, class U > erfordert StrictTotallyOrderedWith<T, U> || |
(2) | (nur Mitglied der Spezialisierung less_equal<void>) |
t und u. Entspricht return !ranges::less<>{}(std::forward<U>(u), std::forward<T>(t));.[edit] Notes
Im Gegensatz zu std::less_equal erfordert ranges::less_equal, dass alle sechs Vergleichsoperatoren <, <=, >, >=, == und != gültig sind (über die Constraints StrictTotallyOrdered und StrictTotallyOrderedWith) und ist vollständig in Bezug auf ranges::less definiert. Die Implementierung kann jedoch operator<= direkt verwenden, da diese Konzepte die Konsistenz der Ergebnisse der Vergleichsoperatoren erfordern.
[edit] Example
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] See also
| Funktions-Objekt, das x <= y implementiert (Klassen-Template) |