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
1132  : _M_FirstNode(NULL)
1133  {
1134  }
#define NULL
Definition: crtdbg.h:30
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1182
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
1138  {
1139  _ElemNodeType * _Node = reinterpret_cast<_ElemNodeType *>(_Elem);
1140  _Node->_M_Next = _M_FirstNode;
1141  _M_FirstNode = reinterpret_cast<_ElemNodeType *>(_Elem);
1142  }
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1182
template<typename _ElemType >
_ElemType* Concurrency::details::_MallocaListHolder< _ElemType >::_AddRawMallocaNode ( void _MallocaRet)
inline
1148  {
1149  if (_MallocaRet == nullptr)
1150  throw std::bad_alloc();
1151  _AddNode(static_cast<_ElemType *>(_MallocaRet));
1152  return static_cast<_ElemType *>(_MallocaRet);
1153  }
void _AddNode(_ElemType *_Elem)
Definition: concrt.h:1137
template<typename _ElemType >
Concurrency::details::_MallocaListHolder< _ElemType >::_At_ ( this->  _M_FirstNode,
_Pre_valid_   
)
inline
1157  {
1158  for( _ElemNodeType * _Node = _M_FirstNode; _Node != NULL; )
1159  {
1160  auto _M_Next = _Node->_M_Next;
1161  _Node->_M_Elem._ElemType::~_ElemType();
1162  _freea(_Node);
1163  _Node = _M_Next;
1164  }
1165  }
#define NULL
Definition: crtdbg.h:30
_ElemNodeType * _M_FirstNode
Definition: concrt.h:1182
template<typename _ElemType >
size_t Concurrency::details::_MallocaListHolder< _ElemType >::_GetAllocationSize ( ) const
inline
1128  {
1129  return sizeof(_ElemNodeType);
1130  }
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: