1 #ifndef FILE_BLOCKALLOC
2 #define FILE_BLOCKALLOC
29 Array<char*> bablocks;
34 NGS_DLL_HEADER
BlockAllocator (
unsigned int asize,
unsigned int ablocks = 100);
39 NGS_DLL_HEADER
void *
Alloc ();
54 NGS_DLL_HEADER
void Free (
void * p);
66 NGS_DLL_HEADER
void Print (ostream * ost)
const;
68 const MemoryTracer& GetMemoryTracer()
const {
return mt; }
70 void StartMemoryTracing()
const
72 mt.Alloc(bablocks.Size() * size * blocks);
76 NGS_DLL_HEADER
void * Alloc2 ();
NGS_DLL_HEADER BlockAllocator(unsigned int asize, unsigned int ablocks=100)
Create BlockAllocator for elements of size asize.
int NumElements()
number of allocated elements
Definition: blockalloc.hpp:64
NGS_DLL_HEADER void * Alloc()
Return pointer to new element.
NGS_DLL_HEADER void Free(void *p)
Send memory to free-list.
namespace for standard data types and algorithms.
Definition: ngstd.hpp:55
Optimized memory handler.
Definition: blockalloc.hpp:20
NGS_DLL_HEADER ~BlockAllocator()
Delete all memeory.