The types
partial_ordering,
weak_ordering, and
strong_ordering
are collectively termed the comparison category types.
Each is specified in terms of an exposition-only data member named value
whose value typically corresponds to that of an enumerator
from one of the following exposition-only enumerations:
For the purposes of subclause [cmp.categories],
substitutability is the property that f(a)== f(b) is true
whenever a == b is true,
where f denotes a function that reads only comparison-salient state
that is accessible via the argument's public const members.