[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