From: Jonathan Wakely Date: Wed, 19 Feb 2020 21:31:06 +0000 (+0000) Subject: libstdc++: Simplify std::totally_ordered_with (LWG 3329) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=241ed965509ac931e9ae5f331d0294c1ee4ccd89;p=gcc.git libstdc++: Simplify std::totally_ordered_with (LWG 3329) * include/std/concepts (totally_ordered_with): Remove redundant requirement (LWG 3329). --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6e22536680f..3941bcbe7ba 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,8 @@ 2020-02-19 Jonathan Wakely + * include/std/concepts (totally_ordered_with): Remove redundant + requirement (LWG 3329). + * include/std/ranges (__detail::__convertible_to_non_slicing): New helper concept. (__detail::__pair_like_convertible_to): Remove. diff --git a/libstdc++-v3/include/std/concepts b/libstdc++-v3/include/std/concepts index f3db40b798f..be125c636a1 100644 --- a/libstdc++-v3/include/std/concepts +++ b/libstdc++-v3/include/std/concepts @@ -311,10 +311,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template concept totally_ordered_with = totally_ordered<_Tp> && totally_ordered<_Up> - && common_reference_with<__detail::__cref<_Tp>, __detail::__cref<_Up>> + && equality_comparable_with<_Tp, _Up> && totally_ordered, __detail::__cref<_Up>>> - && equality_comparable_with<_Tp, _Up> && requires(__detail::__cref<_Tp> __t, __detail::__cref<_Up> __u) { { __t < __u } -> __detail::__boolean_testable; { __t > __u } -> __detail::__boolean_testable;