[libcxx-commits] [libcxx] r354802 - Commit LWG3144 - span does not have a const_pointer typedef. Reviewed as D57039.

Marshall Clow via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 25 09:58:03 PST 2019


Author: marshall
Date: Mon Feb 25 09:58:03 2019
New Revision: 354802

URL: http://llvm.org/viewvc/llvm-project?rev=354802&view=rev
Log:
Commit LWG3144 - span does not have a const_pointer typedef. Reviewed as D57039.

Modified:
    libcxx/trunk/include/span
    libcxx/trunk/test/std/containers/views/types.pass.cpp

Modified: libcxx/trunk/include/span
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/span?rev=354802&r1=354801&r2=354802&view=diff
==============================================================================
--- libcxx/trunk/include/span (original)
+++ libcxx/trunk/include/span Mon Feb 25 09:58:03 2019
@@ -42,8 +42,10 @@ public:
     using index_type = ptrdiff_t;
     using difference_type = ptrdiff_t;
     using pointer = element_type*;
+    using const_pointer = const element_type*;
     using reference = element_type&;
     using iterator = implementation-defined;
+    using const_reference = const element_type&;
     using const_iterator = implementation-defined;
     using reverse_iterator = std::reverse_iterator<iterator>;
     using const_reverse_iterator = std::reverse_iterator<const_iterator>;
@@ -196,9 +198,9 @@ public:
     using index_type             = ptrdiff_t;
     using difference_type        = ptrdiff_t;
     using pointer                = _Tp *;
-    using const_pointer          = const _Tp *; // not in standard
+    using const_pointer          = const _Tp *;
     using reference              = _Tp &;
-    using const_reference        = const _Tp &; // not in standard
+    using const_reference        = const _Tp &;
     using iterator               =  __wrap_iter<pointer>;
     using const_iterator         =  __wrap_iter<const_pointer>;
     using reverse_iterator       = _VSTD::reverse_iterator<iterator>;
@@ -374,9 +376,9 @@ public:
     using index_type             = ptrdiff_t;
     using difference_type        = ptrdiff_t;
     using pointer                = _Tp *;
-    using const_pointer          = const _Tp *; // not in standard
+    using const_pointer          = const _Tp *;
     using reference              = _Tp &;
-    using const_reference        = const _Tp &; // not in standard
+    using const_reference        = const _Tp &;
     using iterator               =  __wrap_iter<pointer>;
     using const_iterator         =  __wrap_iter<const_pointer>;
     using reverse_iterator       = _VSTD::reverse_iterator<iterator>;

Modified: libcxx/trunk/test/std/containers/views/types.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/views/types.pass.cpp?rev=354802&r1=354801&r2=354802&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/views/types.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/views/types.pass.cpp Mon Feb 25 09:58:03 2019
@@ -20,6 +20,8 @@
 //  using difference_type        = ptrdiff_t;
 //  using pointer                = element_type *;
 //  using reference              = element_type &;
+//  using const_pointe           = const element_type *;
+//  using const_reference        = const element_type &;
 //  using iterator               = implementation-defined;
 //  using const_iterator         = implementation-defined;
 //  using reverse_iterator       = std::reverse_iterator<iterator>;
@@ -69,7 +71,9 @@ void testSpan()
     ASSERT_SAME_TYPE(typename S::index_type,      std::ptrdiff_t);
     ASSERT_SAME_TYPE(typename S::difference_type, std::ptrdiff_t);
     ASSERT_SAME_TYPE(typename S::pointer,         ElementType *);
+    ASSERT_SAME_TYPE(typename S::const_pointer,   const ElementType *);
     ASSERT_SAME_TYPE(typename S::reference,       ElementType &);
+    ASSERT_SAME_TYPE(typename S::const_reference, const ElementType &);
 
     static_assert(S::extent == Size); // check that it exists
 




More information about the libcxx-commits mailing list