The three comparison category types (
[cmp.categories])
(the types
std::strong_ordering,
std::weak_ordering, and
std::partial_ordering)
are not predefined;
if the header
is not imported or included prior to a use of such a class type –
even an implicit use in which the type is not named
(e.g., via the
auto specifier
in a defaulted
three-way comparison
or use of the built-in operator) – the program is ill-formed
.