Lines Matching refs:_Dp
229 template <class _Tp, class _Dp, class _Alloc>
233 __compressed_pair<__compressed_pair<_Tp, _Dp>, _Alloc> __data_;
236 __shared_ptr_pointer(_Tp __p, _Dp __d, _Alloc __a) in __shared_ptr_pointer()
237 : __data_(__compressed_pair<_Tp, _Dp>(__p, _VSTD::move(__d)), _VSTD::move(__a)) {} in __shared_ptr_pointer()
250 template <class _Tp, class _Dp, class _Alloc>
252 __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__get_deleter(const type_info& __t) const _NOEXCEPT in __get_deleter()
254 return __t == typeid(_Dp) ? _VSTD::addressof(__data_.first().second()) : nullptr; in __get_deleter()
259 template <class _Tp, class _Dp, class _Alloc>
261 __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared() _NOEXCEPT in __on_zero_shared()
264 __data_.first().second().~_Dp(); in __on_zero_shared()
267 template <class _Tp, class _Dp, class _Alloc>
269 __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared_weak() _NOEXCEPT in __on_zero_shared_weak()
393 template <class _Dp, class _Pt,
394 class = decltype(declval<_Dp>()(declval<_Pt>()))>
400 template <class _Dp, class _Pt>
401 struct __well_formed_deleter : decltype(__well_formed_deleter_test<_Dp, _Pt>(0)) {};
403 template<class _Dp, class _Tp, class _Yp>
407 is_move_constructible<_Dp>::value &&
408 __well_formed_deleter<_Dp, _Tp*>::value;
465 …template<class _Yp, class _Dp, class = __enable_if_t<__shared_ptr_deleter_ctor_reqs<_Dp, _Yp, elem…
467 shared_ptr(_Yp* __p, _Dp __d)
475 typedef __shared_ptr_pointer<_Yp*, _Dp, _AllocT> _CntrlBlk;
492 …template<class _Yp, class _Dp, class _Alloc, class = __enable_if_t<__shared_ptr_deleter_ctor_reqs<…
494 shared_ptr(_Yp* __p, _Dp __d, _Alloc __a)
501 typedef __shared_ptr_pointer<_Yp*, _Dp, _Alloc> _CntrlBlk;
524 template<class _Dp>
526 shared_ptr(nullptr_t __p, _Dp __d)
534 typedef __shared_ptr_pointer<nullptr_t, _Dp, _AllocT> _CntrlBlk;
550 template<class _Dp, class _Alloc>
552 shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
559 typedef __shared_ptr_pointer<nullptr_t, _Dp, _Alloc> _CntrlBlk;
652 template <class _Yp, class _Dp, class = __enable_if_t<
653 !is_lvalue_reference<_Dp>::value &&
654 is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value
657 shared_ptr(unique_ptr<_Yp, _Dp>&& __r)
667 … typedef __shared_ptr_pointer<typename unique_ptr<_Yp, _Dp>::pointer, _Dp, _AllocT> _CntrlBlk;
674 template <class _Yp, class _Dp, class = void, class = __enable_if_t<
675 is_lvalue_reference<_Dp>::value &&
676 is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value
679 shared_ptr(unique_ptr<_Yp, _Dp>&& __r)
689 typedef __shared_ptr_pointer<typename unique_ptr<_Yp, _Dp>::pointer,
690 reference_wrapper<typename remove_reference<_Dp>::type>,
748 template <class _Yp, class _Dp, class = __enable_if_t<
749 is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value
752 shared_ptr<_Tp>& operator=(unique_ptr<_Yp, _Dp>&& __r)
780 template<class _Yp, class _Dp, class = __enable_if_t<
784 void reset(_Yp* __p, _Dp __d)
789 template<class _Yp, class _Dp, class _Alloc, class = __enable_if_t<
793 void reset(_Yp* __p, _Dp __d, _Alloc __a)
867 template <class _Dp>
869 _Dp* __get_deleter() const _NOEXCEPT
871 return static_cast<_Dp*>(__cntrl_
872 ? const_cast<void *>(__cntrl_->__get_deleter(typeid(_Dp)))
939 template<class _Tp, class _Dp>
940 shared_ptr(unique_ptr<_Tp, _Dp>) -> shared_ptr<_Tp>;
1376 template<class _Dp, class _Tp>
1378 _Dp*
1381 return __p.template __get_deleter<_Dp>();