This class is used to allocate bytes of memory from a pool that is never intended to be freed. More...
#include "neverFreeMemory.h"
Static Public Member Functions | |
static void * | alloc (size_t size) |
Returns a pointer to a newly-allocated block of memory of the indicated size. More... | |
static size_t | get_total_alloc () |
Returns the total number of bytes consumed by all the pages allocated internally by this object. More... | |
static size_t | get_total_unused () |
Returns the difference between get_total_alloc() and get_total_used(). More... | |
static size_t | get_total_used () |
Returns the total number of bytes requested by the application in calls to NeverFreeMemory::alloc(). More... | |
This class is used to allocate bytes of memory from a pool that is never intended to be freed.
It is particularly useful to support DeletedChain, which allocates memory in just such a fashion.
When it is known that memory will not be freed, it is preferable to use this instead of the standard malloc() (or global_operator_new()) call, since this will help reduce fragmentation problems in the dynamic heap. Also, memory allocated from here will exhibit less wasted space.
Definition at line 32 of file neverFreeMemory.h.
|
inlinestatic |
Returns a pointer to a newly-allocated block of memory of the indicated size.
Please note that the resulting pointer is not aligned to any boundary.
Definition at line 21 of file neverFreeMemory.I.
|
inlinestatic |
Returns the total number of bytes consumed by all the pages allocated internally by this object.
Definition at line 30 of file neverFreeMemory.I.
|
inlinestatic |
Returns the difference between get_total_alloc() and get_total_used().
This represents bytes in allocated pages that have not (yet) been used by the application.
Definition at line 49 of file neverFreeMemory.I.
|
inlinestatic |
Returns the total number of bytes requested by the application in calls to NeverFreeMemory::alloc().
Definition at line 39 of file neverFreeMemory.I.