3#ifndef TETL_COMPARE_THREE_WAY_COMPAREABLE_HPP
4#define TETL_COMPARE_THREE_WAY_COMPAREABLE_HPP
16template <
typename T,
typename Cat>
17concept compares_as = same_as<common_comparison_category_t<T, Cat>, Cat>;
20template<
typename T,
typename U>
22 { t < u } -> boolean_testable;
23 { t > u } -> boolean_testable;
24 { t <= u } -> boolean_testable;
25 { t >= u } -> boolean_testable;
26 { u < t } -> boolean_testable;
27 { u > t } -> boolean_testable;
28 { u <= t } -> boolean_testable;
29 { u >= t } -> boolean_testable;
37template<
typename T,
typename Cat = partial_ordering>
40 detail::partially_ordered_with<T, T> &&
42 { a <=> b } -> detail::compares_as<Cat>;
Definition three_way_comparable.hpp:38
Definition weakly_equality_comparable_with.hpp:18
typename remove_reference< T >::type remove_reference_t
Definition remove_reference.hpp:28
Definition adjacent_find.hpp:8