forked from OSchip/llvm-project
parent
a525fffd07
commit
6c9ce223ea
|
@ -724,7 +724,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_element_type : false_type {};
|
struct __has_element_type : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_element_type<_Tp,
|
struct __has_element_type<_Tp,
|
||||||
typename __void_t<typename _Tp::element_type>::type> : true_type {};
|
typename __void_t<typename _Tp::element_type>::type> : true_type {};
|
||||||
|
|
||||||
template <class _Ptr, bool = __has_element_type<_Ptr>::value>
|
template <class _Ptr, bool = __has_element_type<_Ptr>::value>
|
||||||
|
@ -808,7 +808,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_difference_type : false_type {};
|
struct __has_difference_type : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_difference_type<_Tp,
|
struct __has_difference_type<_Tp,
|
||||||
typename __void_t<typename _Tp::difference_type>::type> : true_type {};
|
typename __void_t<typename _Tp::difference_type>::type> : true_type {};
|
||||||
|
|
||||||
template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
|
template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
|
||||||
|
@ -994,7 +994,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_pointer_type : false_type {};
|
struct __has_pointer_type : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_pointer_type<_Tp,
|
struct __has_pointer_type<_Tp,
|
||||||
typename __void_t<typename _Tp::pointer>::type> : true_type {};
|
typename __void_t<typename _Tp::pointer>::type> : true_type {};
|
||||||
|
|
||||||
namespace __pointer_type_imp
|
namespace __pointer_type_imp
|
||||||
|
@ -1024,7 +1024,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_const_pointer : false_type {};
|
struct __has_const_pointer : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_const_pointer<_Tp,
|
struct __has_const_pointer<_Tp,
|
||||||
typename __void_t<typename _Tp::const_pointer>::type> : true_type {};
|
typename __void_t<typename _Tp::const_pointer>::type> : true_type {};
|
||||||
|
|
||||||
template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value>
|
template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value>
|
||||||
|
@ -1047,7 +1047,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_void_pointer : false_type {};
|
struct __has_void_pointer : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_void_pointer<_Tp,
|
struct __has_void_pointer<_Tp,
|
||||||
typename __void_t<typename _Tp::void_pointer>::type> : true_type {};
|
typename __void_t<typename _Tp::void_pointer>::type> : true_type {};
|
||||||
|
|
||||||
template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value>
|
template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value>
|
||||||
|
@ -1070,7 +1070,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_const_void_pointer : false_type {};
|
struct __has_const_void_pointer : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_const_void_pointer<_Tp,
|
struct __has_const_void_pointer<_Tp,
|
||||||
typename __void_t<typename _Tp::const_void_pointer>::type> : true_type {};
|
typename __void_t<typename _Tp::const_void_pointer>::type> : true_type {};
|
||||||
|
|
||||||
template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value>
|
template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value>
|
||||||
|
@ -1148,7 +1148,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_propagate_on_container_move_assignment : false_type {};
|
struct __has_propagate_on_container_move_assignment : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_propagate_on_container_move_assignment<_Tp,
|
struct __has_propagate_on_container_move_assignment<_Tp,
|
||||||
typename __void_t<typename _Tp::propagate_on_container_move_assignment>::type>
|
typename __void_t<typename _Tp::propagate_on_container_move_assignment>::type>
|
||||||
: true_type {};
|
: true_type {};
|
||||||
|
|
||||||
|
@ -1168,7 +1168,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_propagate_on_container_swap : false_type {};
|
struct __has_propagate_on_container_swap : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_propagate_on_container_swap<_Tp,
|
struct __has_propagate_on_container_swap<_Tp,
|
||||||
typename __void_t<typename _Tp::propagate_on_container_swap>::type>
|
typename __void_t<typename _Tp::propagate_on_container_swap>::type>
|
||||||
: true_type {};
|
: true_type {};
|
||||||
|
|
||||||
|
@ -1188,7 +1188,7 @@ template <class _Tp, class = void>
|
||||||
struct __has_is_always_equal : false_type {};
|
struct __has_is_always_equal : false_type {};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_is_always_equal<_Tp,
|
struct __has_is_always_equal<_Tp,
|
||||||
typename __void_t<typename _Tp::is_always_equal>::type>
|
typename __void_t<typename _Tp::is_always_equal>::type>
|
||||||
: true_type {};
|
: true_type {};
|
||||||
|
|
||||||
|
@ -1941,7 +1941,7 @@ public:
|
||||||
_LIBCPP_INLINE_VISIBILITY raw_storage_iterator operator++(int)
|
_LIBCPP_INLINE_VISIBILITY raw_storage_iterator operator++(int)
|
||||||
{raw_storage_iterator __t(*this); ++__x_; return __t;}
|
{raw_storage_iterator __t(*this); ++__x_; return __t;}
|
||||||
#if _LIBCPP_STD_VER >= 14
|
#if _LIBCPP_STD_VER >= 14
|
||||||
_LIBCPP_INLINE_VISIBILITY _OutputIterator base() const { return __x_; }
|
_LIBCPP_INLINE_VISIBILITY _OutputIterator base() const { return __x_; }
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3850,7 +3850,7 @@ public:
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
_Dp* __get_deleter() const _NOEXCEPT
|
_Dp* __get_deleter() const _NOEXCEPT
|
||||||
{return static_cast<_Dp*>(__cntrl_
|
{return static_cast<_Dp*>(__cntrl_
|
||||||
? const_cast<void *>(__cntrl_->__get_deleter(typeid(_Dp)))
|
? const_cast<void *>(__cntrl_->__get_deleter(typeid(_Dp)))
|
||||||
: nullptr);}
|
: nullptr);}
|
||||||
#endif // _LIBCPP_NO_RTTI
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
|
@ -4477,7 +4477,7 @@ inline
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_array<_Yp>::value &&
|
!is_array<_Yp>::value &&
|
||||||
is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
|
is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
|
||||||
typename shared_ptr<_Tp>::element_type*>::value,
|
typename shared_ptr<_Tp>::element_type*>::value,
|
||||||
shared_ptr<_Tp>&
|
shared_ptr<_Tp>&
|
||||||
>::type
|
>::type
|
||||||
|
@ -4512,7 +4512,7 @@ inline _LIBCPP_INLINE_VISIBILITY
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
!is_array<_Yp>::value &&
|
!is_array<_Yp>::value &&
|
||||||
is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
|
is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
|
||||||
typename shared_ptr<_Tp>::element_type*>::value,
|
typename shared_ptr<_Tp>::element_type*>::value,
|
||||||
shared_ptr<_Tp>&
|
shared_ptr<_Tp>&
|
||||||
>::type
|
>::type
|
||||||
|
@ -5311,7 +5311,7 @@ atomic_load(const shared_ptr<_Tp>* __p)
|
||||||
__m.unlock();
|
__m.unlock();
|
||||||
return __q;
|
return __q;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
|
_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
|
||||||
|
@ -5352,7 +5352,7 @@ atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
|
||||||
__m.unlock();
|
__m.unlock();
|
||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
|
_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
|
||||||
|
@ -5484,7 +5484,7 @@ void __swap_allocator(_Alloc & __a1, _Alloc & __a2)
|
||||||
_NOEXCEPT_(__is_nothrow_swappable<_Alloc>::value)
|
_NOEXCEPT_(__is_nothrow_swappable<_Alloc>::value)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
__swap_allocator(__a1, __a2,
|
__swap_allocator(__a1, __a2,
|
||||||
integral_constant<bool, _VSTD::allocator_traits<_Alloc>::propagate_on_container_swap::value>());
|
integral_constant<bool, _VSTD::allocator_traits<_Alloc>::propagate_on_container_swap::value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5506,7 +5506,7 @@ inline _LIBCPP_INLINE_VISIBILITY
|
||||||
void __swap_allocator(_Alloc &, _Alloc &, false_type) _NOEXCEPT {}
|
void __swap_allocator(_Alloc &, _Alloc &, false_type) _NOEXCEPT {}
|
||||||
|
|
||||||
template <typename _Alloc, typename _Traits=allocator_traits<_Alloc> >
|
template <typename _Alloc, typename _Traits=allocator_traits<_Alloc> >
|
||||||
struct __noexcept_move_assign_container : public integral_constant<bool,
|
struct __noexcept_move_assign_container : public integral_constant<bool,
|
||||||
_Traits::propagate_on_container_move_assignment::value
|
_Traits::propagate_on_container_move_assignment::value
|
||||||
#if _LIBCPP_STD_VER > 14
|
#if _LIBCPP_STD_VER > 14
|
||||||
|| _Traits::is_always_equal::value
|
|| _Traits::is_always_equal::value
|
||||||
|
@ -5520,17 +5520,17 @@ struct __noexcept_move_assign_container : public integral_constant<bool,
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
struct __temp_value {
|
struct __temp_value {
|
||||||
typedef allocator_traits<_Alloc> _Traits;
|
typedef allocator_traits<_Alloc> _Traits;
|
||||||
|
|
||||||
typename aligned_storage<sizeof(_Tp), alignof(_Tp)>::type __v;
|
typename aligned_storage<sizeof(_Tp), alignof(_Tp)>::type __v;
|
||||||
_Alloc &__a;
|
_Alloc &__a;
|
||||||
|
|
||||||
_Tp *__addr() { return reinterpret_cast<_Tp *>(addressof(__v)); }
|
_Tp *__addr() { return reinterpret_cast<_Tp *>(addressof(__v)); }
|
||||||
_Tp & get() { return *__addr(); }
|
_Tp & get() { return *__addr(); }
|
||||||
|
|
||||||
template<class... _Args>
|
template<class... _Args>
|
||||||
__temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc)
|
__temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc)
|
||||||
{ _Traits::construct(__a, __addr(), _VSTD::forward<_Args>(__args)...); }
|
{ _Traits::construct(__a, __addr(), _VSTD::forward<_Args>(__args)...); }
|
||||||
|
|
||||||
~__temp_value() { _Traits::destroy(__a, __addr()); }
|
~__temp_value() { _Traits::destroy(__a, __addr()); }
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue