libstdc++: Implement LWG 3517/3520 for join_view/transform_view
libstdc++-v3/ChangeLog: * include/std/ranges (transform_view::_Iterator::iter_swap): Remove as per LWG 3520. (join_view::_Iterator::iter_swap): Add indirectly_swappable constraint as per LWG 3517.
This commit is contained in:
parent
d9937da063
commit
2663727d85
1 changed files with 1 additions and 6 deletions
|
@ -1581,12 +1581,6 @@ namespace views::__adaptor
|
|||
return *__i;
|
||||
}
|
||||
|
||||
friend constexpr void
|
||||
iter_swap(const _Iterator& __x, const _Iterator& __y)
|
||||
noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current)))
|
||||
requires indirectly_swappable<_Base_iter>
|
||||
{ return ranges::iter_swap(__x._M_current, __y._M_current); }
|
||||
|
||||
friend _Iterator<!_Const>;
|
||||
template<bool> friend struct _Sentinel;
|
||||
};
|
||||
|
@ -2520,6 +2514,7 @@ namespace views::__adaptor
|
|||
friend constexpr void
|
||||
iter_swap(const _Iterator& __x, const _Iterator& __y)
|
||||
noexcept(noexcept(ranges::iter_swap(__x._M_inner, __y._M_inner)))
|
||||
requires indirectly_swappable<_Inner_iter>
|
||||
{ return ranges::iter_swap(__x._M_inner, __y._M_inner); }
|
||||
|
||||
friend _Iterator<!_Const>;
|
||||
|
|
Loading…
Add table
Reference in a new issue