diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2017-11-14 00:03:10 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2017-11-14 00:03:10 +0000 |
commit | e1cfe7a7f6a73181a9426952069b32f4270c5581 (patch) | |
tree | ffe34daa9dcd1bac973648da125be35a4004b84c /include | |
parent | 928f2866ecf4dd4ddc4fee824ca0e6065ebb075f (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/iterator | 12 |
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; |