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

Public Member Functions

template<class... _Types>
 _Ref_count_obj (_Types &&..._Args)
 
_Ty * _Getptr () const
 
- 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
 
virtual void_Get_deleter (const type_info &) const _NOEXCEPT
 

Private Member Functions

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

Private Attributes

aligned_union< 1, _Ty >::type _Storage
 

Additional Inherited Members

- Protected Member Functions inherited from _Ref_count_base
 _Ref_count_base ()
 

Constructor & Destructor Documentation

template<class _Ty>
template<class... _Types>
_Ref_count_obj< _Ty >::_Ref_count_obj ( _Types &&...  _Args)
inline
1312  : _Ref_count_base()
1313  { // construct from argument list
1314  ::new ((void *)&_Storage) _Ty(_STD forward<_Types>(_Args)...);
1315  }
_Ref_count_base()
Definition: memory:484
Definition: functional:419
constexpr _Ty && forward(typename remove_reference< _Ty >::type &_Arg) _NOEXCEPT
Definition: type_traits:1332

Member Function Documentation

template<class _Ty>
virtual void _Ref_count_obj< _Ty >::_Delete_this ( )
inlineprivatevirtual

Implements _Ref_count_base.

1330  { // destroy self
1331  delete this;
1332  }
template<class _Ty>
virtual void _Ref_count_obj< _Ty >::_Destroy ( )
inlineprivatevirtual

Implements _Ref_count_base.

1325  { // destroy managed resource
1326  _Getptr()->~_Ty();
1327  }
_Ty * _Getptr() const
Definition: memory:1318
template<class _Ty>
_Ty* _Ref_count_obj< _Ty >::_Getptr ( ) const
inline
1319  { // get pointer
1320  return ((_Ty *)&_Storage);
1321  }
Definition: functional:419

Member Data Documentation

template<class _Ty>
aligned_union<1, _Ty>::type _Ref_count_obj< _Ty >::_Storage
private

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