Path: blob/devel/ElmerGUI/netgen/libsrc/general/optmem.hpp
3206 views
#ifndef FILE_OPTMEM1#define FILE_OPTMEM23/**************************************************************************/4/* File: optmem.hh */5/* Author: Joachim Schoeberl */6/* Date: 04. Apr. 97 */7/**************************************************************************/89/**10Optimized Memory allocation classes11*/1213class BlockAllocator14{15private:16///17unsigned size, blocks;18///19void * freelist;20///21ARRAY<char*> bablocks;22public:23///24BlockAllocator (unsigned asize, unsigned ablocks = 100);25///26~BlockAllocator ();27///2829void * Alloc ();30/*31{32if (!freelist)33Alloc2();3435void * p = freelist;36// freelist = *(void**)freelist;37freelist = *static_cast<void**> (freelist);3839return p;40}41*/424344///45void Free (void * p)46{47*(void**)p = freelist;48freelist = p;49}505152private:53// void Alloc2 ();54};55565758#endif596061