29#include <tqvaluelist.h>
30#include "tdelibs_export.h"
32class TDEZoneAllocatorPrivate;
65 void* allocate(
size_t _size);
87 void deallocate(
void *ptr);
109 void free_since(
void *ptr);
116 void addBlock(MemBlock *b);
117 void delBlock(MemBlock *b);
118 void insertHash(MemBlock *b);
137 TDEZoneAllocatorPrivate *d;
Memory allocator for large groups of small objects.
unsigned int log2
base-2 log of the block size.
MemList ** hashList
Collection of lists of blocks, for lookups.
unsigned long blockSize
Store block size from constructor.
unsigned int num_blocks
Count total number of allocated blocks.
unsigned long blockOffset
Store offset into current block; size-offset is free.
MemBlock * currentBlock
One block is 'current' to satisfy requests.
bool hashDirty
Flag the hashes as in need of reorganization.
unsigned int hashSize
Count of hashes.
TQValueList< MemBlock * > MemList
A list of chunks.