The return value V of type R
of the defaulted three-way comparison operator function
with parameters x and y of the same type
is determined by comparing corresponding elements
xi and yi
in the expanded lists of subobjects for x and y
(in increasing index order)
until the first index i
yields a result value vi where vi!=0,
contextually converted to bool, yields true;
V is vi converted to R.
If no such index exists, V is
std::strong_ordering::equal converted to R.
at least one Ti is std::weak_equality, or
at least one Ti is std::strong_equality and
at least one Tj is std::partial_ordering or
U is std::weak_equality ([cmp.weakeq]).