std::experimental::ranges::StrictWeakOrder
Von cppreference.com
< cpp | experimental | ranges
| Definiert in Header <experimental/ranges/concepts> |
||
| template< class R, class T, class U > concept bool StrictWeakOrder = Relation<R, T, U>; |
(1) | (Ranges TS) |
Das Konzept StrictWeakOrder<R, T, U> spezifiziert, dass die Relation R eine strikte schwache Ordnung auf ihren Argumenten aufzwingt. Eine Relation r ist eine strikte schwache Ordnung, wenn
- sie irreflexiv ist: für alle
xgiltr(x, x)ist falsch; - sie transitiv ist: für alle
a,bundcgilt, wennr(a, b)undr(b, c)beide wahr sind, dann istr(a, c)wahr; - sei
e(a, b)gleich!r(a, b) && !r(b, a), dann istetransitiv:e(a, b) && e(b, c)implizierte(a, c).
Unter diesen Bedingungen kann gezeigt werden, dass e eine Äquivalenzrelation ist und r eine strikte totale Ordnung auf den durch e bestimmten Äquivalenzklassen induziert.
[bearbeiten] Hinweise
Die Unterscheidung zwischen Relation und StrictWeakOrder ist rein semantisch.