gwnavgeneration/common/generatormemory.h Source File
Go to the documentation of this file.
17 class ITlsAlloc :
public RefCountBaseV<ITlsAlloc, MemStat_NavDataGen>
20 virtual ~ITlsAlloc() {}
21 virtual void* Alloc(UPInt size) = 0;
22 virtual void Free(
void* ptr) = 0;
23 virtual void* Realloc(
void* oldPtr, UPInt newSize) = 0;
27 class GeneratorMemoryHeap;
32 static void InitTlsAlloc(ITlsAlloc* tlsAlloc);
33 static void ClearTlsAlloc();
35 static MemoryHeap* GlobalHeap() {
return Memory::pGlobalHeap; }
36 static MemoryHeap* SysHeap() {
return s_sysHeap; }
37 static MemoryHeap* TlsHeap() {
return s_tlsHeap; }
38 static MemoryHeap* MagicHeap() {
return s_magicHeap; }
41 static MemoryHeap* s_sysHeap;
42 static MemoryHeap* s_tlsHeap;
43 static MemoryHeap* s_magicHeap;
49 class GeneratorSysAlloc :
public SysAllocBase
52 GeneratorSysAlloc() { Clear(); }
53 virtual ~GeneratorSysAlloc() {}
55 enum AllocType { SlowSimpleAlloc = 0, FastMixedAlloc = 1 };
61 void SetAllocType(AllocType allocType)
63 if (m_heapEngineInitialized ==
false)
64 m_allocType = allocType;
68 virtual void* Alloc(UPInt size, UPInt align) = 0;
69 virtual void Free(
void* ptr, UPInt size, UPInt align) = 0;
70 virtual void* Realloc(
void* oldPtr, UPInt oldSize, UPInt newSize, UPInt align) = 0;
74 virtual bool initHeapEngine(
const void* heapDesc);
75 virtual void shutdownHeapEngine();
79 m_allocType = FastMixedAlloc;
80 m_heapEngineInitialized =
false;
84 AllocType m_allocType;
85 bool m_heapEngineInitialized;
94 class GeneratorSysAllocMalloc :
public SysAllocBase_SingletonSupport<GeneratorSysAllocMalloc, GeneratorSysAlloc>
97 GeneratorSysAllocMalloc() {}
98 virtual ~GeneratorSysAllocMalloc() {}
99 virtual void* Alloc(UPInt size, UPInt align) {
return Kaim::PageAlloc::Alloc(size, align); }
100 virtual void Free(
void* ptr, UPInt size, UPInt align) {
return Kaim::PageAlloc::Free(ptr, size, align); }
101 virtual void* Realloc(
void* oldPtr, UPInt oldSize, UPInt newSize, UPInt align) {
return Kaim::PageAlloc::Realloc(oldPtr, oldSize, newSize, align); }
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17