Panda3D
Classes | 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...

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

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.

Definition at line 32 of file neverFreeMemory.h.

Member Function Documentation

◆ alloc()

void * NeverFreeMemory::alloc ( size_t  size)
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.

◆ get_total_alloc()

size_t NeverFreeMemory::get_total_alloc ( )
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.

◆ get_total_unused()

size_t NeverFreeMemory::get_total_unused ( )
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.

◆ get_total_used()

size_t NeverFreeMemory::get_total_used ( )
inlinestatic

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

Definition at line 39 of file neverFreeMemory.I.


The documentation for this class was generated from the following files: