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

Static Public Member Functions

static int getTotalAlloc ()
 Returns the total number of bytes consumed by all the pages allocated internally by this object. More...
 
static int getTotalUnused ()
 Returns the difference between get_total_alloc() and get_total_used(). More...
 
static int 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 int getTotalAlloc ( )
static

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

◆ getTotalUnused()

static int 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 int getTotalUsed ( )
static

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