class Geo::GeoMemoryDefault
Fully featured MemoryAllocator implementation that handles memory tracking, leak detection, stack traces, reporting and more.
Passes actual allocation requests to another allocator (such as AnsiAllocator).
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. |
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. |
Free(void *, bool, const char *, Geo::s32, const char *) | Free a block of memory, possibly aligned. |
GeoMemoryDefault(MemoryAllocator *, bool) | Initialise object, allowing for replacement of the allocator that does the actual work. |
GetTotalMemoryAllocated() | The total amount of memory we've allocated to date (not subtracting deallocations). |
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. |
GetTotalMemoryAllocationCalls() | The number of times we've allocated memory through GeoMemory. |
GetTotalMemoryDeallocated() | The total amount of memory we've deallocated so far. |
GetTotalMemoryDeallocated() | The total amount of memory we've deallocated so far. |
GetTotalMemoryInUse() | The total amount of memory currently allocated (allocations minus deallocations) |
GetTotalMemoryInUse() | The total amount of memory currently allocated (allocations minus deallocations) |
IsTotalMemorySummarySupported() | Returns true if the memory summary functionality is supported with this allocator. |
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. |
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. |
SetMaximumHeapSize(Geo::u64) | Sets the maximum amount of memory that is allowed to be allocated. Allocations after this size has been reached will return NULL. |
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::MemoryAllocator::~MemoryAllocator
...
public: virtual ~MemoryAllocator()
...
Force a virtual destructor. This is not called by GeoMemory.
Anchor | ||||
---|---|---|---|---|
|
virtual void* Geo::GeoMemoryDefault::Allocate
...
public: virtual 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::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::GeoMemoryDefault::Free
...
public: virtual void Free
(
void * mem,
bool aligned,
const char * filename,
Geo::s32 lineNumber,
const char * message
)
...
Free a block of memory, possibly aligned.
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 | ||||
---|---|---|---|---|
|
Geo::GeoMemoryDefault::GeoMemoryDefault
...
public: GeoMemoryDefault
(
MemoryAllocator * customAlloc,
bool failureIsFatal
)
...
Initialise object, allowing for replacement of the allocator that does the actual work.
When failureIsFatal is true, the allocator will stop the program on allocation failure.
Anchor | ||||
---|---|---|---|---|
|
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocated
...
public: virtual s64 GetTotalMemoryAllocated()
...
The total amount of memory we've allocated to date (not subtracting deallocations).
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 s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocationCalls
...
public: virtual s64 GetTotalMemoryAllocationCalls()
...
The number of times we've allocated memory through GeoMemory.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls
...
public: virtual Geo::s64 GetTotalMemoryAllocationCalls()
...
The number of times we've allocated memory through GeoMemory.
Anchor | ||||
---|---|---|---|---|
|
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryDeallocated
...
public: virtual s64 GetTotalMemoryDeallocated()
...
The total amount of memory we've deallocated so far.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated
...
public: virtual Geo::s64 GetTotalMemoryDeallocated()
...
The total amount of memory we've deallocated so far.
Anchor | ||||
---|---|---|---|---|
|
virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryInUse
...
public: virtual s64 GetTotalMemoryInUse()
...
The total amount of memory currently allocated (allocations minus deallocations)
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::GeoMemoryDefault::IsTotalMemorySummarySupported
...
public: virtual bool IsTotalMemorySummarySupported()
...
Returns true if the memory summary functionality is supported with this allocator.
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.
Anchor | ||||
---|---|---|---|---|
|
virtual void* Geo::GeoMemoryDefault::Realloc
...
public: virtual 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.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoMemoryDefault::SetMaximumHeapSize
...
public: void SetMaximumHeapSize
(
Geo::u64 size
)
...
Sets the maximum amount of memory that is allowed to be allocated. Allocations after this size has been reached will return NULL.