bdlma.txt @PURPOSE: Provide allocators, pools, and other memory-management tools. @MNEMONIC: Basic Development Library Memory Allocators (bdlma) @DESCRIPTION: The 'bdlma' package provides concrete allocators derived from the 'bslma::Allocator' protocol. /Hierarchical Synopsis /--------------------- The 'bdlma' package currently has 29 components having 7 levels of physical dependency. The list below shows the hierarchical ordering of the components. The order of components within each level is not architecturally significant, just alphabetical. .. 7. bdlma_multipoolallocator 6. bdlma_aligningallocator bdlma_localsequentialallocator bdlma_multipool 5. bdlma_bufferedsequentialallocator 4. bdlma_bufferedsequentialpool bdlma_concurrentmultipoolallocator bdlma_sequentialallocator 3. bdlma_concurrentfixedpool bdlma_concurrentmultipool bdlma_concurrentpoolallocator bdlma_sequentialpool 2. bdlma_buffermanager bdlma_concurrentpool bdlma_defaultdeleter bdlma_factory bdlma_pool 1. bdlma_alignedallocator bdlma_autoreleaser bdlma_blocklist bdlma_bufferimputil bdlma_concurrentallocatoradapter bdlma_countingallocator bdlma_deleter bdlma_guardingallocator bdlma_heapbypassallocator bdlma_infrequentdeleteblocklist bdlma_managedallocator bdlma_memoryblockdescriptor .. /Component Synopsis /------------------ : 'bdlma_alignedallocator': : Provide a protocol for memory allocators that support alignment. : : 'bdlma_aligningallocator': : Provide an allocator-wrapper to allocate with a minimum alignment. : : 'bdlma_autoreleaser': : Release memory to a managed allocator or pool at destruction. : : 'bdlma_blocklist': : Provide allocation and management of a sequence of memory blocks. : : 'bdlma_bufferedsequentialallocator': : Provide an efficient managed allocator using an external buffer. : : 'bdlma_bufferedsequentialpool': : Provide sequential memory using an external buffer and a fallback. : : 'bdlma_bufferimputil': : Provide pure procedures for allocating memory from a buffer. : : 'bdlma_buffermanager': : Provide a memory manager that manages an external buffer. : : 'bdlma_concurrentallocatoradapter': : Provide a thread-enabled adapter for the allocator protocol. : : 'bdlma_concurrentfixedpool': : Provide thread-safe pool of limited # of blocks of uniform size. : : 'bdlma_concurrentmultipool': : Provide a memory manager to manage pools of varying block sizes. : : 'bdlma_concurrentmultipoolallocator': : Provide an allocator to manage pools of varying object sizes. : : 'bdlma_concurrentpool': : Provide thread-safe allocation of memory blocks of uniform size. : : 'bdlma_concurrentpoolallocator': : Provide thread-safe memory-pooling allocator of fixed-size blocks. : : 'bdlma_countingallocator': : Provide a memory allocator that counts allocated bytes. : : 'bdlma_defaultdeleter': : Provide a concrete default deleter w/optionally-supplied allocator. : : 'bdlma_deleter': : Provide a protocol for deleting objects of parameterized type. : : 'bdlma_factory': : Provide a protocol for creator/deleter of parameterized objects. : : 'bdlma_guardingallocator': : Provide a memory allocator that guards against buffer overruns. : : 'bdlma_heapbypassallocator': : Support memory allocation directly from virtual memory. : : 'bdlma_infrequentdeleteblocklist': : Provide allocation and management of infrequently deleted blocks. : : 'bdlma_localsequentialallocator': : Provide an efficient managed allocator using a local buffer. : : 'bdlma_managedallocator': : Provide a protocol for memory allocators that support 'release'. : : 'bdlma_memoryblockdescriptor': : Provide a class describing a block of memory. : : 'bdlma_multipool': : Provide a memory manager to manage pools of varying block sizes. : : 'bdlma_multipoolallocator': : Provide a memory-pooling allocator of heterogeneous block sizes. : : 'bdlma_pool': : Provide efficient allocation of memory blocks of uniform size. : : 'bdlma_sequentialallocator': : Provide a managed allocator using dynamically-allocated buffers. : : 'bdlma_sequentialpool': : Provide sequential memory using dynamically-allocated buffers.