Chombo + EB + MF  3.2
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arena Class Referenceabstract

A Virtual Base Class for Dynamic Memory Managemen. More...

#include <Arena.H>

Inheritance diagram for Arena:
Inheritance graph
[legend]

Public Types

typedef void(* FP) ()
 

Public Member Functions

 Arena ()
 base class constructor More...
 
virtual ~Arena ()
 base class destructor. More...
 
virtual void * alloc (size_t a_sz)=0
 
virtual void free (void *a_pt)=0
 

Static Public Member Functions

static size_t align (size_t a_sz)
 

Detailed Description

A Virtual Base Class for Dynamic Memory Managemen.

A Virtual Base Class for Dynamic Memory Management

This is a virtual base class for objects that manage their own dynamic memory allocation. Since it is a virtual base class, you have to derive something from it to use it.

Member Typedef Documentation

◆ FP

typedef void(* Arena::FP) ()

Constructor & Destructor Documentation

◆ Arena()

Arena::Arena ( )

base class constructor

base class constructor. registers Arena object with memory tracking system

◆ ~Arena()

virtual Arena::~Arena ( )
virtual

base class destructor.

base class destructor. unregisters Arena object with memory tracking system

Member Function Documentation

◆ alloc()

virtual void* Arena::alloc ( size_t  a_sz)
pure virtual

Allocate a dynamic memory arena of size a_sz. A pointer to this memory should be returned.

Implemented in CArena, and BArena.

Referenced by ListBox< T >::define(), and BaseFab< Real >::define().

◆ free()

virtual void Arena::free ( void *  a_pt)
pure virtual

A pure virtual function for deleting the arena pointed to by a_pt.

Implemented in CArena, and BArena.

Referenced by ListBox< T >::undefine(), and BaseFab< Real >::undefine().

◆ align()

size_t Arena::align ( size_t  a_sz)
inlinestatic

Given a minimum required arena size of a_sz bytes, this returns the next largest arena size that will hold an integral number of objects of the largest of the types void*, long, double and function pointer.


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