Sacado Package Browser (Single Doxygen Collection)
Version of the Day
|
Memory pool. More...
#include <Sacado_Fad_MemPool.hpp>
Classes | |
struct | Chunk |
Represents a memory chunk. More... | |
struct | Link |
Represents a memory element. More... | |
Public Member Functions | |
MemPool (unsigned int elem_size, unsigned int n_elem, unsigned int pre_alloc=0) | |
Constructor. elem_size is the size of elements, n_elem is the number of elements per chunk. pre_alloc is the number of chunks to pre-allocate. More... | |
~MemPool () | |
Destructor. More... | |
void * | alloc () |
Allocate a new element. More... | |
void | free (void *b) |
Free an element. More... | |
unsigned int | numChunks () const |
Return number of allocated chunks. More... | |
Protected Attributes | |
const unsigned int | esize |
Size of elements in a chunk. More... | |
const unsigned int | n |
Number of elements per chunk. More... | |
const unsigned int | csize |
Size of memory chunks. More... | |
Chunk * | chunks |
Pointer to memory chunks. More... | |
Link * | head |
Pointer to first free link. More... | |
unsigned int | num_chunks |
Number of allocated chunks. More... | |
Private Member Functions | |
MemPool (const MemPool &) | |
Private to prohibit copying. More... | |
MemPool & | operator= (const MemPool &) |
Private to prohibit copying. More... | |
void | grow () |
Allocate a new chunk. More... | |
Memory pool.
Definition at line 40 of file Sacado_Fad_MemPool.hpp.
|
inline |
Constructor. elem_size
is the size of elements, n_elem
is the number of elements per chunk. pre_alloc
is the number of chunks to pre-allocate.
Definition at line 35 of file Sacado_Fad_MemPoolImp.hpp.
|
inline |
Destructor.
Definition at line 51 of file Sacado_Fad_MemPoolImp.hpp.
|
private |
Private to prohibit copying.
|
inline |
Allocate a new element.
Definition at line 62 of file Sacado_Fad_MemPoolImp.hpp.
Free an element.
Definition at line 73 of file Sacado_Fad_MemPoolImp.hpp.
|
inline |
Return number of allocated chunks.
Definition at line 62 of file Sacado_Fad_MemPool.hpp.
|
inlineprivate |
Allocate a new chunk.
Definition at line 83 of file Sacado_Fad_MemPoolImp.hpp.
|
protected |
Size of elements in a chunk.
Definition at line 90 of file Sacado_Fad_MemPool.hpp.
|
protected |
Number of elements per chunk.
Definition at line 93 of file Sacado_Fad_MemPool.hpp.
|
protected |
Size of memory chunks.
Definition at line 96 of file Sacado_Fad_MemPool.hpp.
|
protected |
Pointer to memory chunks.
Definition at line 99 of file Sacado_Fad_MemPool.hpp.
|
protected |
Pointer to first free link.
Definition at line 102 of file Sacado_Fad_MemPool.hpp.
|
protected |
Number of allocated chunks.
Definition at line 105 of file Sacado_Fad_MemPool.hpp.