STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
_Ref_count_del_alloc< _Ty, _Dx, _Alloc > Class Template Reference
Inheritance diagram for _Ref_count_del_alloc< _Ty, _Dx, _Alloc >:
_Ref_count_base

Public Types

typedef _Ref_count_del_alloc< _Ty, _Dx, _Alloc > _Myt
 
typedef _Wrap_alloc< _Alloc > _Myalty0
 
typedef _Myalty0::template rebind< _Myt >::other _Myalty
 

Public Member Functions

 _Ref_count_del_alloc (_Ty *_Px, _Dx _Dt, const _Alloc &_Ax)
 
virtual void_Get_deleter (const _XSTD2 type_info &_Typeid) const _NOEXCEPT
 
- Public Member Functions inherited from _Ref_count_base
virtual ~_Ref_count_base () _NOEXCEPT
 
bool _Incref_nz ()
 
void _Incref ()
 
void _Incwref ()
 
void _Decref ()
 
void _Decwref ()
 
long _Use_count () const _NOEXCEPT
 
bool _Expired () const _NOEXCEPT
 

Private Member Functions

virtual void _Destroy () _NOEXCEPT
 
virtual void _Delete_this () _NOEXCEPT
 

Private Attributes

_Compressed_pair< _Dx, _Compressed_pair< _Myalty, _Ty * > > _Mypair
 

Additional Inherited Members

- Protected Member Functions inherited from _Ref_count_base
 _Ref_count_base ()
 

Member Typedef Documentation

template<class _Ty , class _Dx , class _Alloc >
typedef _Myalty0::template rebind<_Myt>::other _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Myalty
template<class _Ty , class _Dx , class _Alloc >
typedef _Wrap_alloc<_Alloc> _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Myalty0
template<class _Ty , class _Dx , class _Alloc >
typedef _Ref_count_del_alloc<_Ty, _Dx, _Alloc> _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Myt

Constructor & Destructor Documentation

template<class _Ty , class _Dx , class _Alloc >
_Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Ref_count_del_alloc ( _Ty *  _Px,
_Dx  _Dt,
const _Alloc &  _Ax 
)
inline
211  _One_then_variadic_args_t(), _Ax, _Px)
212  { // construct
213  }
_Ref_count_base()
Definition: memory:58
_Compressed_pair< _Dx, _Compressed_pair< _Myalty, _Ty * > > _Mypair
Definition: memory:235
Definition: xutility:259

Member Function Documentation

template<class _Ty , class _Dx , class _Alloc >
virtual void _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Delete_this ( )
inlineprivatevirtual

Implements _Ref_count_base.

229  { // destroy self
230  _Myalty _Al = _Mypair._Get_second()._Get_first();
231  _Al.destroy(this);
232  _Al.deallocate(this, 1);
233  }
_Ty2 & _Get_second() _NOEXCEPT
Definition: xutility:313
_Compressed_pair< _Dx, _Compressed_pair< _Myalty, _Ty * > > _Mypair
Definition: memory:235
_Myalty0::template rebind< _Myt >::other _Myalty
Definition: memory:207
template<class _Ty , class _Dx , class _Alloc >
virtual void _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Destroy ( )
inlineprivatevirtual

Implements _Ref_count_base.

224  { // destroy managed resource
225  _Mypair._Get_first()(_Mypair._Get_second()._Get_second());
226  }
_Ty2 & _Get_second() _NOEXCEPT
Definition: xutility:313
_Ty1 & _Get_first() _NOEXCEPT
Definition: xutility:293
_Compressed_pair< _Dx, _Compressed_pair< _Myalty, _Ty * > > _Mypair
Definition: memory:235
template<class _Ty , class _Dx , class _Alloc >
virtual void* _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Get_deleter ( const _XSTD2 type_info _Typeid) const
inlinevirtual

Reimplemented from _Ref_count_base.

217  { // return address of deleter object
218  return ((void *)(_Typeid == typeid(_Dx)
219  ? _STD addressof(_Mypair._Get_first()) : 0));
220  }
constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:723
_Ty1 & _Get_first() _NOEXCEPT
Definition: xutility:293
_Compressed_pair< _Dx, _Compressed_pair< _Myalty, _Ty * > > _Mypair
Definition: memory:235

Member Data Documentation

template<class _Ty , class _Dx , class _Alloc >
_Compressed_pair<_Dx, _Compressed_pair<_Myalty, _Ty *> > _Ref_count_del_alloc< _Ty, _Dx, _Alloc >::_Mypair
private

The documentation for this class was generated from the following file: