a == b ? strong_ordering::equal : a < b ? strong_ordering::less : strong_ordering::greater
a == b ? weak_ordering::equivalent : a < b ? weak_ordering::less : weak_ordering::greater
a == b ? partial_ordering::equivalent : a < b ? partial_ordering::less : b < a ? partial_ordering::greater : partial_ordering::unordered