C++ named requirements: LessThanComparable
The type must work with < operator and the result should have standard semantics.
T satisfies LessThanComparable if
c, expressions of type
The following expressions must be valid and have their specified effects
|a < b||implicitly convertible to bool|| Establishes strict weak ordering relation with the following properties
For the types that are both EqualityComparable and LessThanComparable, the C++ standard library makes a distinction between equality, which is the value of the expression a == b and equivalence, which is the value of the expression !(a < b) && !(b < a).
| a BinaryPredicate that establishes an ordering relation |