[libcxx-commits] [libcxx] [libc++][spaceship] P2404R3: Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with (PR #99420)
Christopher Di Bella via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jul 18 10:14:05 PDT 2024
================
@@ -37,6 +38,22 @@ concept __weakly_equality_comparable_with =
template <class _Tp>
concept equality_comparable = __weakly_equality_comparable_with<_Tp, _Tp>;
+# if _LIBCPP_STD_VER >= 23
+
+// clang-format off
+template <class _Tp, class _Up>
+concept equality_comparable_with =
+ equality_comparable<_Tp> && equality_comparable<_Up> &&
+ __comparison_common_type_with<_Tp, _Up> &&
+ equality_comparable<
+ common_reference_t<
+ __make_const_lvalue_ref<_Tp>,
+ __make_const_lvalue_ref<_Up>>> &&
+ __weakly_equality_comparable_with<_Tp, _Up>;
+// clang-format on
----------------
cjdb wrote:
Same here.
https://github.com/llvm/llvm-project/pull/99420
More information about the libcxx-commits
mailing list