This defines operator<=> as a non-member function template and does not alter operator==. This contradicts the changes made by P1614R2, which specify both as hidden friends, but that specification of operator<=> is broken and the subject of a soon-to-be-published LWG issue. * include/bits/stl_pair.h [__cpp_lib_three_way_comparison] (operator<=>): Define for C++20. * libsupc++/compare (__cmp2way_res_t): Rename to __cmp3way_res_t, move into __detail namespace. Do not turn argument types into lvalues. (__cmp3way_helper): Rename to __cmp3way_res_impl, move into __detail namespace. Constrain with concepts instead of using void_t. (compare_three_way_result): Adjust name of base class. (compare_three_way_result_t): Use __cmp3way_res_impl directly. (__detail::__3way_cmp_with): Add workaround for PR 91073. (compare_three_way): Use workaround. (__detail::__synth3way, __detail::__synth3way_t): Define new helpers implementing synth-three-way and synth-three-way-result semantics. * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: New test. From-SVN: r278951
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| astuple | Loading commit data... | |
| comparison_operators | Loading commit data... | |
| cons | Loading commit data... | |
| make_pair | Loading commit data... | |
| requirements | Loading commit data... | |
| 1.cc | Loading commit data... | |
| 2.cc | Loading commit data... | |
| 3.cc | Loading commit data... | |
| 4.cc | Loading commit data... | |
| 40925.cc | Loading commit data... | |
| 44487.cc | Loading commit data... | |
| 70437.cc | Loading commit data... | |
| 79141.cc | Loading commit data... | |
| 86751.cc | Loading commit data... | |
| 87822.cc | Loading commit data... | |
| constexpr_assign.cc | Loading commit data... | |
| constexpr_get.cc | Loading commit data... | |
| constexpr_swap.cc | Loading commit data... | |
| moveable.cc | Loading commit data... | |
| noexcept_move_assign.cc | Loading commit data... | |
| noexcept_swap.cc | Loading commit data... | |
| noncopyable.cc | Loading commit data... | |
| piecewise.cc | Loading commit data... | |
| piecewise2.cc | Loading commit data... | |
| ref_assign.cc | Loading commit data... | |
| swap.cc | Loading commit data... | |
| swap_cxx17.cc | Loading commit data... | |
| traits.cc | Loading commit data... |