17 Language support library [support] (original) (raw)

17.11 Comparisons [cmp]

17.11.3 Class template common_­comparison_­category [cmp.common]

The type common_­comparison_­category provides an alias for the strongest comparison category to which all of the template arguments can be converted.

[ Note

:

A comparison category type is stronger than another if they are distinct types and an instance of the former can be converted to an instance of the latter.

end note

]

template<class... Ts> struct common_comparison_category { using type = see below;};

Remarks:The member typedef-name type denotes the common comparison type ([class.spaceship]) of Ts..., the expanded parameter pack, orvoid if any element of Tsis not a comparison category type.

[ Note

:

This is std​::​strong_­ordering if the expansion is empty.

end note

]