STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Concurrency::details::_MallocaListHolder< _ElemType > Class Template Reference

#include <concrt.h>

Classes

class  _ElemNodeType
 

Public Member Functions

size_t _GetAllocationSize () const
 
 _MallocaListHolder ()
 
void _AddNode (_ElemType *_Elem)
 
_ElemType * _AddRawMallocaNode (void *_MallocaRet)
 
 _At_ (this->_M_FirstNode, _Pre_valid_) virtual ~_MallocaListHolder()
 

Private Member Functions

 _MallocaListHolder (const _MallocaListHolder &)
 
_MallocaListHolderoperator= (const _MallocaListHolder &)
 

Private Attributes

_ElemNodeType_M_FirstNode
 

Constructor & Destructor Documentation

template<typename _ElemType >
Concurrency::details::_MallocaListHolder< _ElemType >::_MallocaListHolder ( )
inline
1109  : _M_FirstNode(NULL)
1110  {
1111  }
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1159
#define NULL
Definition: corecrt.h:158
template<typename _ElemType >
Concurrency::details::_MallocaListHolder< _ElemType >::_MallocaListHolder ( const _MallocaListHolder< _ElemType > &  )
private

Member Function Documentation

template<typename _ElemType >
void Concurrency::details::_MallocaListHolder< _ElemType >::_AddNode ( _ElemType *  _Elem)
inline
1115  {
1116  _ElemNodeType * _Node = reinterpret_cast<_ElemNodeType *>(_Elem);
1117  _Node->_M_Next = _M_FirstNode;
1118  _M_FirstNode = reinterpret_cast<_ElemNodeType *>(_Elem);
1119  }
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1159
template<typename _ElemType >
_ElemType* Concurrency::details::_MallocaListHolder< _ElemType >::_AddRawMallocaNode ( void _MallocaRet)
inline
1125  {
1126  if (_MallocaRet == nullptr)
1127  throw std::bad_alloc();
1128  _AddNode(static_cast<_ElemType *>(_MallocaRet));
1129  return static_cast<_ElemType *>(_MallocaRet);
1130  }
void _AddNode(_ElemType *_Elem)
Definition: concrt.h:1114
template<typename _ElemType >
Concurrency::details::_MallocaListHolder< _ElemType >::_At_ ( this->  _M_FirstNode,
_Pre_valid_   
)
inline
1134  {
1135  for( _ElemNodeType * _Node = _M_FirstNode; _Node != NULL; )
1136  {
1137  auto _M_Next = _Node->_M_Next;
1138  _Node->_M_Elem._ElemType::~_ElemType();
1139  _freea(_Node);
1140  _Node = _M_Next;
1141  }
1142  }
__inline void __CRTDECL _freea(_Pre_maybenull_ _Post_invalid_ void *_Memory)
Definition: malloc.h:147
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1159
#define NULL
Definition: corecrt.h:158
template<typename _ElemType >
size_t Concurrency::details::_MallocaListHolder< _ElemType >::_GetAllocationSize ( ) const
inline
1105  {
1106  return sizeof(_ElemNodeType);
1107  }
template<typename _ElemType >
_MallocaListHolder& Concurrency::details::_MallocaListHolder< _ElemType >::operator= ( const _MallocaListHolder< _ElemType > &  )
private

Member Data Documentation

template<typename _ElemType >
_ElemNodeType* Concurrency::details::_MallocaListHolder< _ElemType >::_M_FirstNode
private

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