gatelib  2.1
g_cont_AllocationPolicySimple.h
1 #pragma once
2 
3 #include "g_cont_AllocationPolicyAbstract.h"
4 
5 namespace g
6 {
7 namespace cont
8 {
9 
11 {
12 public:
14  virtual ~AllocationPolicySimple ( );
15 
16  virtual int getNumRefs ( MemMarker* ) const;
17 
18  virtual void incRef ( MemMarker* );
19 
20  virtual int decRef ( MemMarker* );
21 
22  virtual void* getRefDataLocation ( MemMarker* );
23 
24  virtual void* getResizableDataLocation ( MemMarker* );
25 
26  virtual MemMarker* reserveRef ( size_t aDataSize );
27 
28  //version for array (data ref)
29  virtual MemMarker* reserveResizableData ( size_t aDataSize , size_t aCardinality );
30 
31  virtual MemMarker* resizeResizableData ( MemMarker* , size_t aTypeSize , size_t old_cardinality , size_t aCardinality );
32 
33  //ask the heap for freeing ref data
34  virtual void freeRef ( MemMarker* );
35  //ask the heap for freeing sizable data
36  virtual void freeResizableData ( MemMarker* );
37 };
38 
39 } // namespace cont
40 } // namespace g
41 
Definition: g_cont_AllocationPolicyAbstract.h:16
Definition: g.mthread.ThreadSimpleEvent.h:5
Definition: g_cont_HeapAbstract.h:20
Definition: g_cont_AllocationPolicyAbstract.h:13
Definition: g_cont_AllocationPolicySimple.h:10