17 Language support library [support] (original) (raw)
namespace std { class partial_ordering;class weak_ordering;class strong_ordering;constexpr bool is_eq (partial_ordering cmp) noexcept { return cmp == 0; } constexpr bool is_neq (partial_ordering cmp) noexcept { return cmp != 0; } constexpr bool is_lt (partial_ordering cmp) noexcept { return cmp < 0; } constexpr bool is_lteq(partial_ordering cmp) noexcept { return cmp <= 0; } constexpr bool is_gt (partial_ordering cmp) noexcept { return cmp > 0; } constexpr bool is_gteq(partial_ordering cmp) noexcept { return cmp >= 0; } template<class... Ts> struct common_comparison_category { using type = see below;};template<class... Ts> using common_comparison_category_t = common_comparison_category<Ts...>::type;template<class T, class Cat = partial_ordering> concept three_way_comparable = see below;template<class T, class U, class Cat = partial_ordering> concept three_way_comparable_with = see below;template<class T, class U = T> struct compare_three_way_result;template<class T, class U = T> using compare_three_way_result_t = compare_three_way_result<T, U>::type;struct compare_three_way;inline namespace unspecified { inline constexpr unspecified strong_order = unspecified;inline constexpr unspecified weak_order = unspecified;inline constexpr unspecified partial_order = unspecified;inline constexpr unspecified compare_strong_order_fallback = unspecified;inline constexpr unspecified compare_weak_order_fallback = unspecified;inline constexpr unspecified compare_partial_order_fallback = unspecified;} template<class T, class U> struct type_order;template<class T, class U> constexpr strong_ordering type_order_v = type_order<T, U>::value;}