This is done to match an editorial change in the working draft, to rename the exposition-only not-same-as helper to different-from.
Signed-off-by: Jonathan Wakely <jwak...@redhat.com> libstdc++-v3/ChangeLog: * include/bits/ranges_util.h (__not_same_as): Rename to __different_from. * include/std/ranges (__not_same_as): Likewise. Tested powerpc64le-linux. Committed to trunk.
commit c09cabb239179fcc8ed70f033f214d98a49eb378 Author: Jonathan Wakely <jwak...@redhat.com> Date: Mon Aug 16 18:10:04 2021 libstdc++: Rename __detail::__not_same_as helper This is done to match an editorial change in the working draft, to rename the exposition-only not-same-as helper to different-from. Signed-off-by: Jonathan Wakely <jwak...@redhat.com> libstdc++-v3/ChangeLog: * include/bits/ranges_util.h (__not_same_as): Rename to __different_from. * include/std/ranges (__not_same_as): Likewise. diff --git a/libstdc++-v3/include/bits/ranges_util.h b/libstdc++-v3/include/bits/ranges_util.h index 0ca203dd4b0..4e87cfc6ef1 100644 --- a/libstdc++-v3/include/bits/ranges_util.h +++ b/libstdc++-v3/include/bits/ranges_util.h @@ -54,7 +54,7 @@ namespace ranges && (is_pointer_v<_It> || requires(_It __it) { __it.operator->(); }); template<typename _Tp, typename _Up> - concept __not_same_as + concept __different_from = !same_as<remove_cvref_t<_Tp>, remove_cvref_t<_Up>>; } // namespace __detail @@ -187,8 +187,8 @@ namespace ranges template<class _From, class _To> concept __convertible_to_non_slicing = convertible_to<_From, _To> && !(is_pointer_v<decay_t<_From>> && is_pointer_v<decay_t<_To>> - && __not_same_as<remove_pointer_t<decay_t<_From>>, - remove_pointer_t<decay_t<_To>>>); + && __different_from<remove_pointer_t<decay_t<_From>>, + remove_pointer_t<decay_t<_To>>>); template<typename _Tp> concept __pair_like @@ -264,7 +264,7 @@ namespace ranges _M_size._M_size = __n; } - template<__detail::__not_same_as<subrange> _Rng> + template<__detail::__different_from<subrange> _Rng> requires borrowed_range<_Rng> && __detail::__convertible_to_non_slicing<iterator_t<_Rng>, _It> && convertible_to<sentinel_t<_Rng>, _Sent> @@ -275,7 +275,7 @@ namespace ranges : subrange(__r, ranges::size(__r)) { } - template<__detail::__not_same_as<subrange> _Rng> + template<__detail::__different_from<subrange> _Rng> requires borrowed_range<_Rng> && __detail::__convertible_to_non_slicing<iterator_t<_Rng>, _It> && convertible_to<sentinel_t<_Rng>, _Sent> @@ -296,7 +296,7 @@ namespace ranges : subrange{ranges::begin(__r), ranges::end(__r), __n} { } - template<__detail::__not_same_as<subrange> _PairLike> + template<__detail::__different_from<subrange> _PairLike> requires __detail::__pair_like_convertible_from<_PairLike, const _It&, const _Sent&> constexpr diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges index fb8905fab08..3d49a26ee79 100644 --- a/libstdc++-v3/include/std/ranges +++ b/libstdc++-v3/include/std/ranges @@ -1057,7 +1057,7 @@ namespace views::__adaptor static void _S_fun(_Range&&) = delete; public: - template<__detail::__not_same_as<ref_view> _Tp> + template<__detail::__different_from<ref_view> _Tp> requires convertible_to<_Tp, _Range&> && requires { _S_fun(declval<_Tp>()); } constexpr