diff mbox series

libstdc++: Implement LWG 3553 change to split_view

Message ID 20210618035941.1668804-1-ppalka@redhat.com
State New
Headers show
Series libstdc++: Implement LWG 3553 change to split_view | expand

Commit Message

Patrick Palka June 18, 2021, 3:59 a.m. UTC
libstdc++-v3/ChangeLog:

	* include/std/ranges (split_view::_OuterIter::value_type::begin):
	Remove the non-const overload, and remove the copyable constraint
	on the const overload as per LWG 3553.
---
 libstdc++-v3/include/std/ranges | 6 ------
 1 file changed, 6 deletions(-)

Comments

Jonathan Wakely June 18, 2021, 9:58 p.m. UTC | #1
On Fri, 18 Jun 2021 at 05:01, Patrick Palka via Libstdc++
<libstdc++@gcc.gnu.org> wrote:
>
> libstdc++-v3/ChangeLog:
>
>         * include/std/ranges (split_view::_OuterIter::value_type::begin):
>         Remove the non-const overload, and remove the copyable constraint
>         on the const overload as per LWG 3553.


OK


> ---
>  libstdc++-v3/include/std/ranges | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
> index bf85b1629f0..49babe81437 100644
> --- a/libstdc++-v3/include/std/ranges
> +++ b/libstdc++-v3/include/std/ranges
> @@ -2932,14 +2932,8 @@ namespace views::__adaptor
>
>             constexpr _InnerIter<_Const>
>             begin() const
> -             requires copyable<_OuterIter>
>             { return _InnerIter<_Const>{_M_i}; }
>
> -           constexpr _InnerIter<_Const>
> -           begin()
> -             requires (!copyable<_OuterIter>)
> -           { return _InnerIter<_Const>{std::move(_M_i)}; }
> -
>             constexpr default_sentinel_t
>             end() const
>             { return default_sentinel; }
> --
> 2.32.0.93.g670b81a890
>
diff mbox series

Patch

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index bf85b1629f0..49babe81437 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -2932,14 +2932,8 @@  namespace views::__adaptor
 
 	    constexpr _InnerIter<_Const>
 	    begin() const
-	      requires copyable<_OuterIter>
 	    { return _InnerIter<_Const>{_M_i}; }
 
-	    constexpr _InnerIter<_Const>
-	    begin()
-	      requires (!copyable<_OuterIter>)
-	    { return _InnerIter<_Const>{std::move(_M_i)}; }
-
 	    constexpr default_sentinel_t
 	    end() const
 	    { return default_sentinel; }