STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
_State_deleter< _Ty, _Derived, _Alloc > Struct Template Reference
Inheritance diagram for _State_deleter< _Ty, _Derived, _Alloc >:
_Deleter_base< _Ty >

Public Member Functions

 _State_deleter (const _Alloc &_Al)
 
 _State_deleter (const _State_deleter &)=delete
 
_State_deleteroperator= (const _State_deleter &)=delete
 
void _Delete (_Associated_state< _Ty > *_State)
 
- Public Member Functions inherited from _Deleter_base< _Ty >
virtual ~_Deleter_base () _NOEXCEPT
 

Public Attributes

_Alloc _My_alloc
 

Constructor & Destructor Documentation

template<class _Ty , class _Derived , class _Alloc >
_State_deleter< _Ty, _Derived, _Alloc >::_State_deleter ( const _Alloc &  _Al)
inline
234  : _My_alloc(_Al)
235  { // construct with allocator
236  }
_Alloc _My_alloc
Definition: future:243
template<class _Ty , class _Derived , class _Alloc >
_State_deleter< _Ty, _Derived, _Alloc >::_State_deleter ( const _State_deleter< _Ty, _Derived, _Alloc > &  )
delete

Member Function Documentation

template<class _Ty , class _Derived , class _Alloc >
void _State_deleter< _Ty, _Derived, _Alloc >::_Delete ( _Associated_state< _Ty > *  _State)
inlinevirtual

Implements _Deleter_base< _Ty >.

518  { // delete _State and this using stored allocator
519  typedef _Wrap_alloc<_Alloc> _Alty0;
520 
521  typedef typename _Alty0::template rebind<_Derived>
522  ::other _State_allocator;
523  _State_allocator _St_alloc(_My_alloc);
524 
525  typedef typename _Alty0::template rebind<_State_deleter>
526  ::other _Deleter_allocator;
527  _Deleter_allocator _Del_alloc(_My_alloc);
528 
529  _Derived *_Ptr = static_cast<_Derived *>(_State);
530 
531  _St_alloc.destroy(_Ptr);
532  _St_alloc.deallocate(_St_alloc.address(*_Ptr), 1);
533 
534  _Del_alloc.destroy(this);
535  _Del_alloc.deallocate(_Del_alloc.address(*this), 1);
536  }
_In_ size_t _Deref_pre_opt_z_ char const _In_ size_t _Inout_ mbstate_t * _State
Definition: wchar.h:78
Definition: xmemory0:483
_Alloc _My_alloc
Definition: future:243
template<class _Ty , class _Derived , class _Alloc >
_State_deleter& _State_deleter< _Ty, _Derived, _Alloc >::operator= ( const _State_deleter< _Ty, _Derived, _Alloc > &  )
delete

Member Data Documentation

template<class _Ty , class _Derived , class _Alloc >
_Alloc _State_deleter< _Ty, _Derived, _Alloc >::_My_alloc

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