Closed
Description
P1614R0 The Mothership Has Landed: Adding <=> to the Library (Barry Revzin)
Combined wording paper for:
- P0790R2 P0790 Effect of operator<=> on the C++ Standard Library #111 - adding operator<=> to the standard library types whose behavior is not dependent on a template parameter.
- P0891R2 P0891 Make strong_order a Customization Point! #122 - making the XXX_order algorithms customization points and introducing compare_XXX_order_fallback algorithms that preferentially invoke the former algorithm and fallback to synthesizing an ordering from == and < (using the rules from P1186R1).
- P1154R1 P1154 Type traits for structural comparison #139 - adding the type trait has_strong_structural_equality (useful to check if a type can be used as a non-type template parameter).
- P1188R0 P1188 Library utilities for <=> #143 - adding the type trait compare_three_way_result, the concepts ThreeWayComparable and ThreeWayComparableWith<T,U>, removing the algorithm compare_3way and replacing it with a function comparison object compare_three_way (i.e. the <=> version of std::ranges::less).
- P1189R0 P1189 Adding <=> to library #366 - adding operator<=> to the standard library types whose behavior is dependent on a template parameter, removing those equality operators made redundant by P1185R1 and defaulting operator== where appropriate.
- P1191R0 P1191 Adding operator<=> to types that are not currently comparable #266 - adding equality to several previously incomparable standard library types.
- P1295R0 P1295 Spaceship library update #280 - adding equality and common_type for the comparison categories.
- P1380R1 P1380 Ambiguity and Insecurities with Three-Way Comparison #93 - extending the floating point customization points for strong_order and weak_order.