Panda3D
Static Public Member Functions | List of all members
NeverFreeMemory Class Reference

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

Static Public Member Functions

static size_t getTotalAlloc ()
 Returns the total number of bytes consumed by all the pages allocated internally by this object. More...
 
static size_t getTotalUnused ()
 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. More...
 
static size_t getTotalUsed ()
 Returns the total number of bytes requested by the application in calls to NeverFreeMemory::alloc(). More...
 

Detailed Description

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.

Member Function Documentation

◆ getTotalAlloc()

static size_t getTotalAlloc ( )
static

Returns the total number of bytes consumed by all the pages allocated internally by this object.

◆ getTotalUnused()

static size_t getTotalUnused ( )
static

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.

◆ getTotalUsed()

static size_t getTotalUsed ( )
static

Returns the total number of bytes requested by the application in calls to NeverFreeMemory::alloc().