gwnavruntime/kernel/HeapMH/HeapMH_AllocEngine.h Source File
Go to the documentation of this file.
23 namespace Kaim {
namespace HeapMH {
28 typedef List<PageMH> PageListType;
30 AllocEngineMH(SysAlloc* sysAlloc,
32 UPInt minAlignSize=16,
36 bool IsValid()
const {
return true; }
40 UPInt SetLimit(UPInt lim) {
return Limit = lim; }
41 void SetLimitHandler(
void* handler) { pLimHandler = handler; }
43 void* Alloc(UPInt size, PageInfoMH* info);
44 void* Alloc(UPInt size, UPInt alignSize, PageInfoMH* info);
46 void* ReallocInPage(PageMH* page,
void* oldPtr, UPInt newSize, PageInfoMH* newInfo);
47 void* ReallocInNode(NodeMH* node,
void* oldPtr, UPInt newSize, PageInfoMH* newInfo);
48 void* ReallocGeneral(PageMH* page,
void* oldPtr, UPInt newSize, PageInfoMH* newInfo);
49 void* Realloc(
void* oldPtr, UPInt newSize);
50 void Free(PageMH* page,
void* ptr);
51 void Free(NodeMH* node,
void* ptr);
54 void GetPageInfo(PageMH* page, PageInfoMH* info)
const;
55 void GetPageInfo(NodeMH* node, PageInfoMH* info)
const;
56 void GetPageInfoWithSize(PageMH* page,
const void* ptr, PageInfoMH* info)
const;
57 void GetPageInfoWithSize(NodeMH* node,
const void* ptr, PageInfoMH* info)
const;
59 UPInt GetFootprint()
const {
return Footprint; }
60 UPInt GetUsedSpace()
const {
return UsedSpace; }
62 UPInt GetUsableSize(
void* ptr);
65 PageMH* allocPage(
bool* limHandlerOK);
66 void* allocDirect(UPInt size, UPInt alignSize,
bool* limHandlerOK, PageInfoMH* info);
67 void freePage(PageMH* page);
69 void* allocFromPage(UPInt size, PageInfoMH* info);
70 void* allocFromPage(UPInt size, UPInt alignSize, PageInfoMH* info);
75 AllocBitSet2MH Allocator;
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17