class Geo::MemoryAllocator
Class used to override memory allocation and freeing.
If used, this class must be robust, efficient and thread safe.
Functions
Name | Description |
---|---|
~MemoryAllocator() | Force a virtual destructor. This is not called by GeoMemory. |
Allocate(size_t, size_t, const char *, Geo::s32, const char *) | Allocate a block of memory with the given size. |
Free(void *, bool, const char *, Geo::s32, const char *) | Free a block of memory, possibly aligned. |
GetTotalMemoryAllocated() | The total amount of memory we've allocated to date (not subtracting deallocations). |
GetTotalMemoryAllocationCalls() | The number of times we've allocated memory through GeoMemory. |
GetTotalMemoryDeallocated() | The total amount of memory we've deallocated so far. |
GetTotalMemoryInUse() | The total amount of memory currently allocated (allocations minus deallocations) |
IsTotalMemorySummarySupported() | Returns true if the memory summary functionality is supported with this allocator. |
Realloc(void *, size_t, size_t, const char *, s32, const char *) | Reallocate a block of memory, preserving as much data as will fit in the new block size. |
virtual Geo::MemoryAllocator::~MemoryAllocator
public: virtual ~MemoryAllocator()
Force a virtual destructor. This is not called by GeoMemory.
virtual void* Geo::MemoryAllocator::Allocate
public: void * Allocate
(
size_t size,
size_t align,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Allocate a block of memory with the given size.
If alignment is 0, use unaligned allocation. Otherwise, alignment must be a power of two.
virtual void Geo::MemoryAllocator::Free
public: void Free
(
void * mem,
bool aligned,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
Free a block of memory, possibly aligned.
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocated
public: virtual Geo::s64 GetTotalMemoryAllocated()
The total amount of memory we've allocated to date (not subtracting deallocations).
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls
public: virtual Geo::s64 GetTotalMemoryAllocationCalls()
The number of times we've allocated memory through GeoMemory.
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated
public: virtual Geo::s64 GetTotalMemoryDeallocated()
The total amount of memory we've deallocated so far.
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryInUse
public: virtual Geo::s64 GetTotalMemoryInUse()
The total amount of memory currently allocated (allocations minus deallocations)
virtual bool Geo::MemoryAllocator::IsTotalMemorySummarySupported
public: virtual bool IsTotalMemorySummarySupported()
Returns true if the memory summary functionality is supported with this allocator.
virtual void* Geo::MemoryAllocator::Realloc
public: void * Realloc
(
void * mem,
size_t size,
size_t align,
const char * filename,
s32 lineNumber,
const char * message
)
Reallocate a block of memory, preserving as much data as will fit in the new block size.
Requires the same alignment as in the original allocation.