Defined in header <compare> | ||
---|---|---|
template<class... Ts> struct common_comparison_category { using type = /*see below*/ ; }; | (since C++20) |
The class template std::common_comparison_category
provides an alias (as the member typedef type
) for the strongest comparison category to which all of the template arguments Ts...
can be converted.
In detail, the common comparison type of a list of n types T0...Tn-1 is defined as follows:
std::weak_equality
, std::strong_equality
, std::partial_ordering
, std::weak_ordering
, std::strong_ordering
), U is void
. std::weak_equality
or at least one Ti is std::strong_equality
and at least one Ti is std::partial_ordering
or std::weak_ordering
, U is std::weak_equality
std::strong_equality
, U is std::strong_equality
std::weak_equality
and no std::strong_equality
) if at least one Ti is std::partial_ordering
, U is std::partial_ordering
std::weak_ordering
, U is std::weak_ordering
std::strong_ordering
, or if the list is empty), U is std::strong_ordering
. ...Ts | - | a possibly empty list of types |
template< class... Ts > using common_comparison_category_t = typename common_comparison_category<Ts...>::type; | (since C++20) |
Member type | Definition |
---|---|
type | the strongest common comparison category (as defined above) |
(C++20) | the result type of 3-way comparison that supports all 6 operators and is substitutable (class) |
(C++20) | the result type of 3-way comparison that supports all 6 operators and is not substitutable (class) |
(C++20) | the result type of 3-way comparison that supports all 6 operators, is not substitutable, and allows incomparable values (class) |
(C++20) | the result type of 3-way comparison that supports only equality/inequality and is substitutable (class) |
(C++20) | the result type of 3-way comparison that supports only equality/inequality and is not substitutable (class) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/utility/compare/common_comparison_category