Lines Matching defs:_Alloc
96 template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
100 typedef typename _Alloc::template
105 // Requires that copies of _Alloc can free each other's memory.
110 _My_Deleter(_Deleter __d, const _Alloc& __a)
123 : _Base_type(__p), _M_del(__d, _Alloc()) { }
129 _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a)
162 template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
164 : public _Sp_counted_deleter<_Tp*, _Sp_destroy_inplace<_Tp>, _Alloc, _Lp>
166 typedef _Sp_counted_deleter<_Tp*, _Sp_destroy_inplace<_Tp>, _Alloc, _Lp>
170 _Sp_counted_ptr_inplace(_Alloc __a)
180 _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
193 typedef typename _Alloc::template
243 typedef std::allocator<int> _Alloc;
244 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
261 template<typename _Ptr, typename _Deleter, typename _Alloc>
262 __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
264 typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
265 typedef typename _Alloc::template rebind<_Sp_cd_type>::other _Alloc2;
281 template<typename _Tp, typename _Alloc, typename... _Args>
282 __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc __a, _Args&&... __args)
285 typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
286 typedef typename _Alloc::template rebind<_Sp_cp_type>::other _Alloc2;
599 // not throw _Alloc's copy constructor and destructor must not
612 template<typename _Tp1, typename _Deleter, typename _Alloc>
613 __shared_ptr(_Tp1* __p, _Deleter __d, const _Alloc& __a)
795 template<typename _Tp1, typename _Deleter, typename _Alloc>
797 reset(_Tp1* __p, _Deleter __d, const _Alloc& __a)
854 template<typename _Alloc, typename... _Args>
855 __shared_ptr(_Sp_make_shared_tag __tag, _Alloc __a, _Args&&... __args)
866 template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
869 __allocate_shared(_Alloc __a, _Args&&... __args);
1240 template<typename _Tp1, typename _Deleter, typename _Alloc>
1241 shared_ptr(_Tp1* __p, _Deleter __d, const _Alloc& __a)
1328 template<typename _Alloc, typename... _Args>
1329 shared_ptr(_Sp_make_shared_tag __tag, _Alloc __a, _Args&&... __args)
1333 template<typename _Tp1, typename _Alloc, typename... _Args>
1335 allocate_shared(_Alloc __a, _Args&&... __args);
1517 template<typename _Tp, _Lock_policy _Lp, typename _Alloc, typename... _Args>
1519 __allocate_shared(_Alloc __a, _Args&&... __args)
1522 std::forward<_Alloc>(__a), std::forward<_Args>(__args)...);
1538 * @throw An exception thrown from @a _Alloc::allocate or from the
1544 template<typename _Tp, typename _Alloc, typename... _Args>
1546 allocate_shared(_Alloc __a, _Args&&... __args)
1548 return shared_ptr<_Tp>(_Sp_make_shared_tag(), std::forward<_Alloc>(__a),