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.
And I also read the definition of strict weak ordering in the document: StrictWeakOrdering
The first three axioms, irreflexivity, antisymmetry, and transitivity, are the definition of a partial ordering; transitivity of equivalence is required by the definition of a strict weak ordering. A total ordering is one that satisfies an even stronger condition: equivalence must be the same as equality.
I am not quite sure about these definition. Some main questions:
1.Is partial ordering implicitly define a equivalence?
2.What about strict weak ordering and total ordering?
3.STL require a strict weak ordering in sort algorithms, why isn't partial ordering or total ordering? For this question, I've read some textbooks that prove a valid comparing rules by proving the rule satisfy three axioms: irreflexivity, antisymmetry, transitivity which is the definition for partial ordering, and the document refer that operator< always satisfies this definition, So why can't we just compare objects using partial ordering, or equivalently, using operator
greater
predicate is also claimed a valid strict weak ordering. So the weak here really has nothing to do with less than then? Because you can use > in your application just to represent a <? – Fescue