summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2017-11-14 00:03:10 +0000
committerMarshall Clow <mclow.lists@gmail.com>2017-11-14 00:03:10 +0000
commite1cfe7a7f6a73181a9426952069b32f4270c5581 (patch)
treeffe34daa9dcd1bac973648da125be35a4004b84c /include
parent928f2866ecf4dd4ddc4fee824ca0e6065ebb075f (diff)
Implement LWG2952: iterator_traits should work for pointers to cv T
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318119 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/iterator12
1 files changed, 1 insertions, 11 deletions
diff --git a/include/iterator b/include/iterator
index 9e1da937d..78cab25e5 100644
--- a/include/iterator
+++ b/include/iterator
@@ -37,16 +37,6 @@ struct iterator_traits<T*>
typedef random_access_iterator_tag iterator_category;
};
-template<class T>
-struct iterator_traits<const T*>
-{
- typedef ptrdiff_t difference_type;
- typedef T value_type;
- typedef const T* pointer;
- typedef const T& reference;
- typedef random_access_iterator_tag iterator_category;
-};
-
template<class Category, class T, class Distance = ptrdiff_t,
class Pointer = T*, class Reference = T&>
struct iterator
@@ -494,7 +484,7 @@ template<class _Tp>
struct _LIBCPP_TEMPLATE_VIS iterator_traits<_Tp*>
{
typedef ptrdiff_t difference_type;
- typedef typename remove_const<_Tp>::type value_type;
+ typedef typename remove_cv<_Tp>::type value_type;
typedef _Tp* pointer;
typedef _Tp& reference;
typedef random_access_iterator_tag iterator_category;