llvm-project/libcxx/include/__compare
Arthur O'Dwyer bf20a09790 [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback.
The tests for these are just copy-pasted from the tests for std::{strong,weak,partial}_order,
and then I added an extra clause in each (test_2()) to test the stuff that's not just the same
as std::*_order.

This also includes the fix for https://wg21.link/LWG3465 (which falls naturally out of the
"you must write it three times" style, but I've added test cases for it also).

There is an action item here to go back and give good diagnostics for SFINAE failures
in these CPOs. I've filed this as https://github.com/llvm/llvm-project/issues/53456 .

Differential Revision: https://reviews.llvm.org/D111514
2022-01-27 17:48:01 -05:00
..
common_comparison_category.h [libc++] Remove _LIBCPP_HAS_NO_SPACESHIP_OPERATOR 2021-11-17 10:59:57 -05:00
compare_partial_order_fallback.h [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback. 2022-01-27 17:48:01 -05:00
compare_strong_order_fallback.h [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback. 2022-01-27 17:48:01 -05:00
compare_three_way.h [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
compare_three_way_result.h
compare_weak_order_fallback.h [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback. 2022-01-27 17:48:01 -05:00
is_eq.h [libc++] [compare] Named comparison functions, is_eq etc. 2021-09-29 16:03:48 -04:00
ordering.h [libc++] Remove _LIBCPP_HAS_NO_SPACESHIP_OPERATOR 2021-11-17 10:59:57 -05:00
partial_order.h [libc++] [P1614] Implement [cmp.alg]'s std::{strong,weak,partial}_order. 2021-11-22 13:24:28 -05:00
strong_order.h [libc++] Remove unneeded `std::` qualifications from <compare>. NFCI. 2021-12-07 13:59:41 -05:00
synth_three_way.h [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
three_way_comparable.h [libc++] Remove _LIBCPP_HAS_NO_SPACESHIP_OPERATOR 2021-11-17 10:59:57 -05:00
weak_order.h [libc++] Remove unneeded `std::` qualifications from <compare>. NFCI. 2021-12-07 13:59:41 -05:00