[gcc r11-9128] libstdc++: Implement LWG 3555 changes to transform/elements_view

Patrick Palka ppalka@gcc.gnu.org
Tue Oct 12 18:09:11 GMT 2021


https://gcc.gnu.org/g:f6c54894752872c41fa4b7068f30f38acc51253e

commit r11-9128-gf6c54894752872c41fa4b7068f30f38acc51253e
Author: Patrick Palka <ppalka@redhat.com>
Date:   Fri Jun 18 20:33:31 2021 -0400

    libstdc++: Implement LWG 3555 changes to transform/elements_view
    
    libstdc++-v3/ChangeLog:
    
            * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
            Consider _Base instead of _Vp as per LWG 3555.
            (elements_view::_Iterator::_S_iter_concept): Likewise.
    
    (cherry picked from commit bc046a60cfdd7145fd1e644184ced04d89feb871)

Diff:
---
 libstdc++-v3/include/std/ranges | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index aebe1b90076..1f43cad1d73 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -1556,11 +1556,11 @@ namespace views::__adaptor
 	  static auto
 	  _S_iter_concept()
 	  {
-	    if constexpr (random_access_range<_Vp>)
+	    if constexpr (random_access_range<_Base>)
 	      return random_access_iterator_tag{};
-	    else if constexpr (bidirectional_range<_Vp>)
+	    else if constexpr (bidirectional_range<_Base>)
 	      return bidirectional_iterator_tag{};
-	    else if constexpr (forward_range<_Vp>)
+	    else if constexpr (forward_range<_Base>)
 	      return forward_iterator_tag{};
 	    else
 	      return input_iterator_tag{};
@@ -3584,11 +3584,11 @@ namespace views::__adaptor
 	  static auto
 	  _S_iter_concept()
 	  {
-	    if constexpr (random_access_range<_Vp>)
+	    if constexpr (random_access_range<_Base>)
 	      return random_access_iterator_tag{};
-	    else if constexpr (bidirectional_range<_Vp>)
+	    else if constexpr (bidirectional_range<_Base>)
 	      return bidirectional_iterator_tag{};
-	    else if constexpr (forward_range<_Vp>)
+	    else if constexpr (forward_range<_Base>)
 	      return forward_iterator_tag{};
 	    else
 	      return input_iterator_tag{};


More information about the Libstdc++-cvs mailing list