aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2022-08-26 18:59:36 -0400
committerPatrick Palka <ppalka@redhat.com>2022-08-26 18:59:36 -0400
commitd0fd62d0ff4d1e0648e11b650b4f449772663990 (patch)
tree71fe1a96133b8b1f88525c764e54b802fac83e0e
parent1a93a84b9e01d0dd5156be8d686e8666a6fc45a8 (diff)
downloadgcc-d0fd62d0ff4d1e0648e11b650b4f449772663990.zip
gcc-d0fd62d0ff4d1e0648e11b650b4f449772663990.tar.gz
gcc-d0fd62d0ff4d1e0648e11b650b4f449772663990.tar.bz2
libstdc++: Implement LWG 3692/3702 changes to zip_/zip_transform_view
libstdc++-v3/ChangeLog: * include/std/ranges (zip_view::_Iterator::operator<): Remove as per LWG 3692. (zip_view::_Iterator::operator>): Likewise. (zip_view::_Iterator::operator<=): Likewise. (zip_view::_Iterator::operator>=): Likewise. (zip_view::_Iterator::operator<=>): Remove three_way_comparable constraint as per LWG 3692. (zip_transform_view::_Iterator): Ditto as per LWG 3702.
-rw-r--r--libstdc++-v3/include/std/ranges43
1 files changed, 1 insertions, 42 deletions
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index d4e326a..6e2e561 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -4616,30 +4616,9 @@ namespace views::__adaptor
}(make_index_sequence<sizeof...(_Vs)>{});
}
- friend constexpr bool
- operator<(const _Iterator& __x, const _Iterator& __y)
- requires __detail::__all_random_access<_Const, _Vs...>
- { return __x._M_current < __y._M_current; }
-
- friend constexpr bool
- operator>(const _Iterator& __x, const _Iterator& __y)
- requires __detail::__all_random_access<_Const, _Vs...>
- { return __y < __x; }
-
- friend constexpr bool
- operator<=(const _Iterator& __x, const _Iterator& __y)
- requires __detail::__all_random_access<_Const, _Vs...>
- { return !(__y < __x); }
-
- friend constexpr bool
- operator>=(const _Iterator& __x, const _Iterator& __y)
- requires __detail::__all_random_access<_Const, _Vs...>
- { return !(__x < __y); }
-
friend constexpr auto
operator<=>(const _Iterator& __x, const _Iterator& __y)
requires __detail::__all_random_access<_Const, _Vs...>
- && (three_way_comparable<iterator_t<__detail::__maybe_const_t<_Const, _Vs>>> && ...)
{ return __x._M_current <=> __y._M_current; }
friend constexpr _Iterator
@@ -5006,29 +4985,9 @@ namespace views::__adaptor
requires equality_comparable<__ziperator<_Const>>
{ return __x._M_inner == __y._M_inner; }
- friend constexpr bool
- operator<(const _Iterator& __x, const _Iterator& __y)
- requires random_access_range<_Base<_Const>>
- { return __x._M_inner < __y._M_inner; }
-
- friend constexpr bool
- operator>(const _Iterator& __x, const _Iterator& __y)
- requires random_access_range<_Base<_Const>>
- { return __x._M_inner > __y._M_inner; }
-
- friend constexpr bool
- operator<=(const _Iterator& __x, const _Iterator& __y)
- requires random_access_range<_Base<_Const>>
- { return __x._M_inner <= __y._M_inner; }
-
- friend constexpr bool
- operator>=(const _Iterator& __x, const _Iterator& __y)
- requires random_access_range<_Base<_Const>>
- { return __x._M_inner >= __y._M_inner; }
-
friend constexpr auto
operator<=>(const _Iterator& __x, const _Iterator& __y)
- requires random_access_range<_Base<_Const>> && three_way_comparable<__ziperator<_Const>>
+ requires random_access_range<_Base<_Const>>
{ return __x._M_inner <=> __y._M_inner; }
friend constexpr _Iterator