3 #include "g_cont_common.h"
4 #include "g_cont_AllocationPolicyAbstract.h"
5 #include "g_cont_HeapAbstract.h"
20 mResizableDataMarkerP(NULL),mAllocPolicyP(d_alloc_policy) { }
30 void allocate (
size_t cardinality ,
size_t old_cardinality )
32 if ( cardinality != old_cardinality )
34 if ( mResizableDataMarkerP == NULL )
36 mResizableDataMarkerP = mAllocPolicyP->reserveResizableDataT<T>(cardinality);
40 mResizableDataMarkerP = mAllocPolicyP->resizeResizableDataT<T>(mResizableDataMarkerP,old_cardinality,cardinality );
47 if ( mResizableDataMarkerP != NULL )
49 mAllocPolicyP->freeResizableData ( mResizableDataMarkerP );
50 mResizableDataMarkerP = NULL;
54 inline operator T* ( ) {
if( mResizableDataMarkerP ) {
return reinterpret_cast<T*
>(mAllocPolicyP->getResizableDataLocation ( mResizableDataMarkerP )); }
else {
return NULL; } }
55 inline operator const T* ( )
const {
if( mResizableDataMarkerP ) {
return reinterpret_cast<T*
>(mAllocPolicyP->getResizableDataLocation ( mResizableDataMarkerP )); }
else {
return NULL; } }
Definition: g_cont_AllocationPolicyAbstract.h:16
Definition: g.mthread.ThreadSimpleEvent.h:5
Definition: g_cont_AllocationPolicyAbstract.h:13
Definition: g_cont_private_data_pointer.h:14