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. |
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::MemoryAllocator::~MemoryAllocator
...
public: virtual ~MemoryAllocator()
...
Force a virtual destructor. This is not called by GeoMemory.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocated
...
public: virtual Geo::s64 GetTotalMemoryAllocated()
...
The total amount of memory we've allocated to date (not subtracting deallocations).
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls
...
public: virtual Geo::s64 GetTotalMemoryAllocationCalls()
...
The number of times we've allocated memory through GeoMemory.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated
...
public: virtual Geo::s64 GetTotalMemoryDeallocated()
...
The total amount of memory we've deallocated so far.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryInUse
...
public: virtual Geo::s64 GetTotalMemoryInUse()
...
The total amount of memory currently allocated (allocations minus deallocations)
Anchor | ||||
---|---|---|---|---|
|
virtual bool Geo::MemoryAllocator::IsTotalMemorySummarySupported
...
public: virtual bool IsTotalMemorySummarySupported()
...
Returns true if the memory summary functionality is supported with this allocator.
Anchor | ||||
---|---|---|---|---|
|
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.