mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-24 03:32:35 +08:00
Use __rebind_pointer to avoid #ifdef block
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@256654 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -656,7 +656,6 @@ class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator
|
||||
{
|
||||
_HashIterator __i_;
|
||||
|
||||
typedef pointer_traits<typename _HashIterator::pointer> __pointer_traits;
|
||||
typedef const typename _HashIterator::value_type::value_type::first_type key_type;
|
||||
typedef typename _HashIterator::value_type::value_type::second_type mapped_type;
|
||||
public:
|
||||
@@ -664,13 +663,8 @@ public:
|
||||
typedef pair<key_type, mapped_type> value_type;
|
||||
typedef typename _HashIterator::difference_type difference_type;
|
||||
typedef value_type& reference;
|
||||
typedef typename __pointer_traits::template
|
||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||
rebind<value_type>
|
||||
#else
|
||||
rebind<value_type>::other
|
||||
#endif
|
||||
pointer;
|
||||
typedef typename __rebind_pointer<typename _HashIterator::pointer, value_type>::type
|
||||
pointer;
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
__hash_map_iterator() _NOEXCEPT {}
|
||||
@@ -712,7 +706,6 @@ class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator
|
||||
{
|
||||
_HashIterator __i_;
|
||||
|
||||
typedef pointer_traits<typename _HashIterator::pointer> __pointer_traits;
|
||||
typedef const typename _HashIterator::value_type::value_type::first_type key_type;
|
||||
typedef typename _HashIterator::value_type::value_type::second_type mapped_type;
|
||||
public:
|
||||
@@ -720,13 +713,8 @@ public:
|
||||
typedef pair<key_type, mapped_type> value_type;
|
||||
typedef typename _HashIterator::difference_type difference_type;
|
||||
typedef const value_type& reference;
|
||||
typedef typename __pointer_traits::template
|
||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||
rebind<const value_type>
|
||||
#else
|
||||
rebind<const value_type>::other
|
||||
#endif
|
||||
pointer;
|
||||
typedef typename __rebind_pointer<typename _HashIterator::pointer, const value_type>::type
|
||||
pointer;
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
__hash_map_const_iterator() _NOEXCEPT {}
|
||||
|
||||
Reference in New Issue
Block a user