std::experimental::ranges::greater_equal
| Definiert in Header <experimental/ranges/functional> |
||
| template< class T = void > erfordert StrictTotallyOrdered<T> || |
(Ranges TS) | |
| template<> struct greater_equal<void>; |
(Ranges TS) | |
Funktionsobjekt für Vergleiche. Die Primärvorlage ruft operator< auf const lvalues vom Typ T auf und negiert das Ergebnis. Die Spezialisierung greater_equal<void> leitet die Parametertypen des Funktionsaufrufoperators aus den Argumenten ab (aber nicht den Rückgabetyp).
Alle Spezialisierungen von greater_equal sind Semiregular.
Inhalt |
[edit] Member types
| Mitgliedertyp | Definition |
is_transparent (nur Mitglied der Spezialisierung greater_equal<void>) |
/* nicht spezifiziert */ |
[edit] Member functions
| operator() |
prüft, ob das erste Argument *größer* als das zweite oder *gleich* ist (öffentliche Memberfunktion) |
std::experimental::ranges::greater_equal::operator()
| constexpr bool operator()(const T& x, const T& y) const; |
(1) | (nur Mitglied der primären Vorlage greater_equal<T>) |
| template< class T, class U > erfordert StrictTotallyOrderedWith<T, U> || |
(2) | (nur Mitglied der Spezialisierung greater_equal<void>) |
t und u. Äquivalent zu return !ranges::less<>{}(std::forward<T>(t), std::forward<U>(u));.[edit] Notes
Im Gegensatz zu std::greater_equal erfordert ranges::greater_equal, dass alle sechs Vergleichsoperatoren <, <=, >, >=, == und != gültig sind (über die Einschränkungen StrictTotallyOrdered und StrictTotallyOrderedWith) und ist vollständig in Bezug auf ranges::less definiert. Die Implementierung kann jedoch frei 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) |