This is the documentation for Enlighten.

class Geo GeoMemoryDefault

class Geo::GeoMemoryDefault

    └>Geo::MemoryAllocator

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 *, MemoryLimitCallback, 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.


virtual Geo::MemoryAllocator::~MemoryAllocator


public: virtual ~MemoryAllocator()


Force a virtual destructor. This is not called by GeoMemory.


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.


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::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.


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.


Geo::GeoMemoryDefault::GeoMemoryDefault


public: GeoMemoryDefault
(
    MemoryAllocator * customAlloc,
    MemoryLimitCallback memoryLimit,
    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.


virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocated


public: virtual s64 GetTotalMemoryAllocated()


The total amount of memory we've allocated to date (not subtracting deallocations).


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 s64 Geo::GeoMemoryDefault::GetTotalMemoryAllocationCalls


public: virtual s64 GetTotalMemoryAllocationCalls()


The number of times we've allocated memory through GeoMemory.


virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryAllocationCalls


public: virtual Geo::s64 GetTotalMemoryAllocationCalls()


The number of times we've allocated memory through GeoMemory.


virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryDeallocated


public: virtual s64 GetTotalMemoryDeallocated()


The total amount of memory we've deallocated so far.


virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryDeallocated


public: virtual Geo::s64 GetTotalMemoryDeallocated()


The total amount of memory we've deallocated so far.


virtual s64 Geo::GeoMemoryDefault::GetTotalMemoryInUse


public: virtual s64 GetTotalMemoryInUse()


The total amount of memory currently allocated (allocations minus deallocations)


virtual Geo::s64 Geo::MemoryAllocator::GetTotalMemoryInUse


public: virtual Geo::s64 GetTotalMemoryInUse()


The total amount of memory currently allocated (allocations minus deallocations)


virtual bool Geo::GeoMemoryDefault::IsTotalMemorySummarySupported


public: virtual bool IsTotalMemorySummarySupported()


Returns true if the memory summary functionality is supported with this allocator.


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.


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.


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.