|
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. | |
| ~MemPool () | |
| Destructor. | |
| void * | alloc () |
| Allocate a new element. | |
| void | free (void *b) |
| Free an element. | |
| unsigned int | numChunks () const |
| Return number of allocated chunks. | |
Protected Attributes | |
| const unsigned int | esize |
| Size of elements in a chunk. | |
| const unsigned int | n |
| Number of elements per chunk. | |
| const unsigned int | csize |
| Size of memory chunks. | |
| Chunk * | chunks |
| Pointer to memory chunks. | |
| Link * | head |
| Pointer to first free link. | |
| unsigned int | num_chunks |
| Number of allocated chunks. | |
Private Member Functions | |
| MemPool (const MemPool &) | |
| Private to prohibit copying. | |
| MemPool & | operator= (const MemPool &) |
| Private to prohibit copying. | |
| void | grow () |
| Allocate a new chunk. | |
Memory pool.
Definition at line 40 of file Sacado_Fad_MemPool.hpp.
| Sacado::Fad::MemPool::MemPool | ( | unsigned int | elem_size, |
| unsigned int | n_elem, | ||
| unsigned int | pre_alloc = 0 |
||
| ) | [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.
| Sacado::Fad::MemPool::~MemPool | ( | ) | [inline] |
Destructor.
Definition at line 51 of file Sacado_Fad_MemPoolImp.hpp.
| Sacado::Fad::MemPool::MemPool | ( | const MemPool & | ) | [private] |
Private to prohibit copying.
| void * Sacado::Fad::MemPool::alloc | ( | ) | [inline] |
Allocate a new element.
Definition at line 62 of file Sacado_Fad_MemPoolImp.hpp.
| void Sacado::Fad::MemPool::free | ( | void * | b | ) | [inline] |
Free an element.
Definition at line 73 of file Sacado_Fad_MemPoolImp.hpp.
| unsigned int Sacado::Fad::MemPool::numChunks | ( | ) | const [inline] |
Return number of allocated chunks.
Definition at line 62 of file Sacado_Fad_MemPool.hpp.
| void Sacado::Fad::MemPool::grow | ( | ) | [inline, private] |
Allocate a new chunk.
Definition at line 83 of file Sacado_Fad_MemPoolImp.hpp.
const unsigned int Sacado::Fad::MemPool::esize [protected] |
Size of elements in a chunk.
Definition at line 90 of file Sacado_Fad_MemPool.hpp.
const unsigned int Sacado::Fad::MemPool::n [protected] |
Number of elements per chunk.
Definition at line 93 of file Sacado_Fad_MemPool.hpp.
const unsigned int Sacado::Fad::MemPool::csize [protected] |
Size of memory chunks.
Definition at line 96 of file Sacado_Fad_MemPool.hpp.
Chunk* Sacado::Fad::MemPool::chunks [protected] |
Pointer to memory chunks.
Definition at line 99 of file Sacado_Fad_MemPool.hpp.
Link* Sacado::Fad::MemPool::head [protected] |
Pointer to first free link.
Definition at line 102 of file Sacado_Fad_MemPool.hpp.
unsigned int Sacado::Fad::MemPool::num_chunks [protected] |
Number of allocated chunks.
Definition at line 105 of file Sacado_Fad_MemPool.hpp.
1.7.4