std::equal_to, not_equal_to, less, greater, less_equal, greater_equal(std::experimental::propagate_const)
Von cppreference.com
< cpp | experimental | propagate const
| Definiert im Header <experimental/propagate_const> |
||
| template< class T > struct equal_to<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
| template< class T > struct not_equal_to<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
| template< class T > struct less<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
| template< class T > struct greater<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
| template< class T > struct less_equal<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
| template< class T > struct greater_equal<std::experimental::propagate_const<T>>; |
(Library Fundamentals TS v2) | |
Die Standard-Vergleichsfunktionsoperatoren sind partiell für std::experimental::propagate_const<T> spezialisiert.
Sei p.t_ das von einem std::experimental::propagate_const<T> p eingeschlossene zeigerähnliche Objekt, dann gilt für die Objekte p und q vom Typ std::experimental::propagate_const<T> folgendes:
- std::equal_to<std::experimental::propagate_const<T>>()(p, q) == std::equal_to<T>()(p.t_, q.t_)
- std::not_equal_to<std::experimental::propagate_const<T>>()(p, q) == std::not_equal_to<T>()(p.t_, q.t_)
- std::less<std::experimental::propagate_const<T>>()(p, q) == std::less<T>()(p.t_, q.t_)
- std::greater<std::experimental::propagate_const<T>>()(p, q) == std::greater<T>()(p.t_, q.t_)
- std::less_equal<std::experimental::propagate_const<T>>()(p, q) == std::less_equal<T>()(p.t_, q.t_)
- std::greater_equal<std::experimental::propagate_const<T>>()(p, q) == std::greater_equal<T>()(p.t_, q.t_)
[bearbeiten] Hinweise
Diese Spezialisierungen stellen sicher, dass, wenn T ein Zeigertyp ist, Spezialisierungen dieser Klassentemplates für std::experimental::propagate_const<T> eine totale Ordnung ergeben, auch wenn die entsprechenden eingebauten Operatoren dies nicht tun.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| Funktions-Objekt, das x == y implementiert (Klassen-Template) | |
| Funktions-Objekt, das x != y implementiert (Klassen-Template) | |
| Funktions-Objekt, das x < y implementiert (Klassen-Template) | |
| Funktions-Objekt, das x > y implementiert (Klassen-Template) | |
| Funktions-Objekt, das x <= y implementiert (Klassen-Template) | |
| Funktions-Objekt, das x >= y implementiert (Klassen-Template) |