|
Chombo + EB
3.0
|
A Concrete Class for Dynamic Memory Management. More...
#include <Arena.H>

Public Types | |
| enum | { DefaultHunkSize = 1024*1024 } |
| The default memory hunk size to grab from the heap. More... | |
Public Types inherited from Arena | |
| typedef void(* | FP) () |
Public Member Functions | |
| CArena (size_t a_hunk_size=0) | |
| virtual | ~CArena () |
| The destructor. More... | |
| virtual void * | alloc (size_t a_nbytes) |
| Allocate some memory. More... | |
| virtual void | free (void *a_vp) |
Public Member Functions inherited from Arena | |
| Arena () | |
| base class constructor More... | |
| virtual | ~Arena () |
| base class destructor. More... | |
Private Member Functions | |
| CArena (const CArena &a_rhs) | |
| CArena & | operator= (const CArena &a_rhs) |
Additional Inherited Members | |
Static Public Member Functions inherited from Arena | |
| static size_t | align (size_t a_sz) |
A Concrete Class for Dynamic Memory Management.
This is a coalescing memory manager. It allocates (possibly) large chunks of heap space and apportions it out as requested. It merges together neighboring chunks on each free().
| CArena::CArena | ( | size_t | a_hunk_size = 0 | ) |
: Construct a coalescing memory manager. `a_hunk_size' is the minimum size of hunks of memory to allocate from the heap. If a_hunk_size == 0 we use DefaultHunkSize as specified below.
|
virtual |
The destructor.
|
private |
|
virtual |
Allocate some memory.
Implements Arena.
|
virtual |
Free up allocated memory. Merge neighboring free memory chunks into largest possible chunk.
Implements Arena.
1.8.13