bool X::operator==(const X&) const;
friend bool operator==(const X&, const X&);
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