Component-local allocators
Component-local allocators implement the generic Deallocator and Allocator interfaces. Allocators that operate on address ranges supplement the plain Allocator by implementing the more specific Range_allocator interface.
Slab allocator
The Slab allocator is tailored for allocating small fixed-size memory blocks from a big chunk of memory. For the common use case of using a slab allocator for a certain type rather than for a known byte size, there exists a typed slab allocator as a front end of Slab.
AVL-tree-based best-fit allocator
In contrast to the rather limited slab allocators, Allocator_avl allows for arbitrary allocations from a list of address regions. It implements a best-fit allocation strategy, supports arbitrary alignments, and allocations at specified addresses.