If operator< is a strict weak ordering, and if each equivalence class has only a single element, then operator< is a total ordering.
Valid expressions Name Expression Type requirements Return type Less x < y Convertible to bool Greater x > y Convertible to bool Less or equal x <= y Convertible to bool Greater or equal x >= y Convertible to bool Expression semantics Name Expression Precondition Semantics Postcondition Less x < y x and y are in the domain of < Greater x > y x and y are in the domain of < Equivalent to y < x [1] Less or equal x <= y x and y are in the domain of < Equivalent to !(y < x) [1] Greater or equal x >= y x and y are in the domain of < Equivalent to !(x < y) [1] Complexity guarantees Invariants Irreflexivity x < x must be false. Antisymmetry x < y implies !(y < x) [2] Transitivity x < y and y < z implies x < z [3] Models[1] Only operator< is fundamental; the other inequality operators are essentially syntactic sugar.
[2] Antisymmetry is a theorem, not an axiom: it follows from irreflexivity and transitivity.
[3] Because of irreflexivity and transitivity, operator< always satisfies the definition of a partial ordering. The definition of a strict weak ordering is stricter, and the definition of a total ordering is stricter still.
See alsoEqualityComparable, StrictWeakOrdering STL Main PageRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4