Lines Matching defs:_Alloc
320 template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
325 // Requires that copies of _Alloc can free each other's memory.
327 : public _Alloc // copy constructor must not throw
330 _My_Deleter(_Deleter __d, const _Alloc& __a)
331 : _Alloc(__a), _M_del(__d) { }
337 : _M_ptr(__p), _M_del(__d, _Alloc()) { }
340 _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a)
352 typedef typename allocator_traits<_Alloc>::template
378 template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
383 // Requires that copies of _Alloc can free each other's memory.
385 : public _Alloc // copy constructor must not throw
387 _Impl(_Alloc __a) : _Alloc(__a), _M_ptr() { }
393 _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
399 allocator_traits<_Alloc>::construct(__a, _M_impl._M_ptr,
407 { allocator_traits<_Alloc>::destroy(_M_impl, _M_impl._M_ptr); }
413 typedef typename allocator_traits<_Alloc>::template
465 typedef std::allocator<int> _Alloc;
466 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
467 typedef typename allocator_traits<_Alloc>::template
486 template<typename _Ptr, typename _Deleter, typename _Alloc>
487 __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
489 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
490 typedef typename allocator_traits<_Alloc>::template
510 template<typename _Tp, typename _Alloc, typename... _Args>
511 __shared_count(_Sp_make_shared_tag, _Tp*, const _Alloc& __a,
515 typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
516 typedef typename allocator_traits<_Alloc>::template
784 template<typename _Tp1, typename _Deleter, typename _Alloc>
785 __shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a)
798 template<typename _Deleter, typename _Alloc>
799 __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
927 template<typename _Tp1, typename _Deleter, typename _Alloc>
929 reset(_Tp1* __p, _Deleter __d, _Alloc __a)
982 template<typename _Alloc, typename... _Args>
983 __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a,
995 template<typename _Alloc>
1000 typedef allocator_traits<_Alloc> _Alloc_traits;
1004 _Alloc _M_alloc;
1007 template<typename _Alloc, typename... _Args>
1008 __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a,
1012 typedef typename _Alloc::template rebind<_Tp>::other _Alloc2;
1034 template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1037 __allocate_shared(const _Alloc& __a, _Args&&... __args);
1423 template<typename _Tp, _Lock_policy _Lp, typename _Alloc, typename... _Args>
1425 __allocate_shared(const _Alloc& __a, _Args&&... __args)