The types
weak_equality,
strong_equality,
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:
enum class eq { equal = 0, equivalent = equal,
nonequal = 1, nonequivalent = nonequal }; // exposition onlyenum class ord { less = -1, greater = 1 }; // exposition onlyenum class ncmp { unordered = -127 }; // exposition only
For the purposes of this subclause,
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.