|
NGSolve
4.9
|
Optimized memory handler. More...
#include <localheap.hpp>
Public Member Functions | |
| NGS_DLL_HEADER | LocalHeap (size_t asize, const char *aname) |
| Allocate one block of size asize. | |
| LocalHeap (char *adata, size_t asize, const char *aname) throw () | |
| Use provided memory for the LocalHeap. | |
| LocalHeap (const LocalHeap &lh2) | |
| Use provided memory for the LocalHeap. | |
| ~LocalHeap () | |
| free memory | |
| void | CleanUp () throw () |
| delete all memory on local heap | |
| void * | GetPointer () throw () |
| returns heap-pointer | |
| void | CleanUp (void *addr) throw () |
| deletes memory back to heap-pointer | |
| void * | Alloc (size_t size) throw (LocalHeapOverflow) |
| allocates size bytes of memory from local heap | |
| template<typename T > | |
| T * | Alloc (size_t size) throw (LocalHeapOverflow) |
| allocates size objects of type T on local heap | |
| void | Free (void *data) throw () |
| free memory (dummy function) | |
| size_t | Available () const throw () |
| available memory on LocalHeap | |
| LocalHeap | Split () const |
| Split free memory on heap into pieces for each openmp-thread. | |
Optimized memory handler.
One block of data is organized as stack memory. One can allocate memory out of it. This increases the stack pointer. With {CleanUp}, the pointer is reset to the beginning or to a specific position.
1.7.6.1