[gcc r12-1660] libstdc++: Implement LWG 3555 changes to transform/elements_view

Patrick Palka ppalka@gcc.gnu.org
Sat Jun 19 00:51:27 GMT 2021


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

commit r12-1660-gbc046a60cfdd7145fd1e644184ced04d89feb871
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.

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 ff093bfdf93..49babe81437 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -1613,11 +1613,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{};
@@ -3653,11 +3653,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