Class Specialization
Single Pool Allocator
Allocator that pools memory blocks of specific size.
Allocator
Allocator
Single Pool Allocator
Allocator< SinglePool<SIZE, ParentAllocator> >
Parameters
SIZE
Size of memory blocks that are pooled.
Values: An unsigned integer with SIZE >= sizeof(void *).
ParentAllocator
An allocator that is by the pool allocator used to allocate memory.
Note: The single pool allocator only supports clear if this function is also implemented for ParentAllocator.
Specialization of
Implements
Functions
allocateAllocates memory from heap. (Allocator)
clearDeallocates all memory blocks. (Allocator)
deallocateDeallocates memory. (Allocator)
Remarks
A pool allocator allocates several memory blocks at once. Freed blocks are not immediately deallocated but recycled in subsequential allocations. This way, the number of calls to the heap manager is reduced, and that speeds up memory management.
The single pool allocator only pools memory blocks of size SIZE. Blocks of other sizes are allocated and deallocated using an allocator of type ParentAllocator.
Using the single pool allocator for blocksizes larger than some KB is not advised.
Example Programs
See Also
SeqAn - Sequence Analysis Library - www.seqan.de