Lines Matching defs:_Alloc
323 template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
328 // Requires that copies of _Alloc can free each other's memory.
330 : public _Alloc // copy constructor must not throw
333 _My_Deleter(_Deleter __d, const _Alloc& __a)
334 : _Alloc(__a), _M_del(__d) { }
340 : _M_ptr(__p), _M_del(__d, _Alloc()) { }
343 _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a)
355 typedef typename allocator_traits<_Alloc>::template
381 template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
386 // Requires that copies of _Alloc can free each other's memory.
388 : public _Alloc // copy constructor must not throw
390 _Impl(_Alloc __a) : _Alloc(__a), _M_ptr() { }
396 _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
402 allocator_traits<_Alloc>::construct(__a, _M_impl._M_ptr,
410 { allocator_traits<_Alloc>::destroy(_M_impl, _M_impl._M_ptr); }
416 typedef typename allocator_traits<_Alloc>::template
468 typedef std::allocator<int> _Alloc;
469 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
470 typedef typename allocator_traits<_Alloc>::template
489 template<typename _Ptr, typename _Deleter, typename _Alloc>
490 __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
492 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
493 typedef typename allocator_traits<_Alloc>::template
513 template<typename _Tp, typename _Alloc, typename... _Args>
514 __shared_count(_Sp_make_shared_tag, _Tp*, const _Alloc& __a,
518 typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
519 typedef typename allocator_traits<_Alloc>::template
787 template<typename _Tp1, typename _Deleter, typename _Alloc>
788 __shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a)
801 template<typename _Deleter, typename _Alloc>
802 __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
938 template<typename _Tp1, typename _Deleter, typename _Alloc>
940 reset(_Tp1* __p, _Deleter __d, _Alloc __a)
993 template<typename _Alloc, typename... _Args>
994 __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a,
1006 template<typename _Alloc>
1011 typedef allocator_traits<_Alloc> _Alloc_traits;
1015 _Alloc _M_alloc;
1018 template<typename _Alloc, typename... _Args>
1019 __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a,
1023 typedef typename _Alloc::template rebind<_Tp>::other _Alloc2;
1045 template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1048 __allocate_shared(const _Alloc& __a, _Args&&... __args);
1434 template<typename _Tp, _Lock_policy _Lp, typename _Alloc, typename... _Args>
1436 __allocate_shared(const _Alloc& __a, _Args&&... __args)