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.
This commit is contained in:
parent
1a93a84b9e
commit
d0fd62d0ff
1 changed files with 1 additions and 42 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue