Quick Links:

bal | bbl | bdl | bsl

Components

Package bdlma
[Package Group bdl]

Provide allocators, pools, and other memory-management tools. More...

Components

 Component bdlma_alignedallocator
 

Provide a protocol for memory allocators that support alignment.

 Component bdlma_aligningallocator
 

Provide an allocator-wrapper to allocate with a minimum alignment.

 Component bdlma_autoreleaser
 

Release memory to a managed allocator or pool at destruction.

 Component bdlma_blocklist
 

Provide allocation and management of a sequence of memory blocks.

 Component bdlma_bufferedsequentialallocator
 

Provide an efficient managed allocator using an external buffer.

 Component bdlma_bufferedsequentialpool
 

Provide sequential memory using an external buffer and a fallback.

 Component bdlma_bufferimputil
 

Provide pure procedures for allocating memory from a buffer.

 Component bdlma_buffermanager
 

Provide a memory manager that manages an external buffer.

 Component bdlma_concurrentallocatoradapter
 

Provide a thread-enabled adapter for the allocator protocol.

 Component bdlma_concurrentfixedpool
 

Provide thread-safe pool of limited # of blocks of uniform size.

 Component bdlma_concurrentmultipool
 

Provide a memory manager to manage pools of varying block sizes.

 Component bdlma_concurrentmultipoolallocator
 

Provide an allocator to manage pools of varying object sizes.

 Component bdlma_concurrentpool
 

Provide thread-safe allocation of memory blocks of uniform size.

 Component bdlma_concurrentpoolallocator
 

Provide thread-safe memory-pooling allocator of fixed-size blocks.

 Component bdlma_countingallocator
 

Provide a memory allocator that counts allocated bytes.

 Component bdlma_defaultdeleter
 

Provide a concrete default deleter w/optionally-supplied allocator.

 Component bdlma_deleter
 

Provide a protocol for deleting objects of parameterized type.

 Component bdlma_factory
 

Provide a protocol for creator/deleter of parameterized objects.

 Component bdlma_guardingallocator
 

Provide a memory allocator that guards against buffer overruns.

 Component bdlma_heapbypassallocator
 

Support memory allocation directly from virtual memory.

 Component bdlma_infrequentdeleteblocklist
 

Provide allocation and management of infrequently deleted blocks.

 Component bdlma_localsequentialallocator
 

Provide an efficient managed allocator using a local buffer.

 Component bdlma_managedallocator
 

Provide a protocol for memory allocators that support release.

 Component bdlma_memoryblockdescriptor
 

Provide a class describing a block of memory.

 Component bdlma_multipool
 

Provide a memory manager to manage pools of varying block sizes.

 Component bdlma_multipoolallocator
 

Provide a memory-pooling allocator of heterogeneous block sizes.

 Component bdlma_pool
 

Provide efficient allocation of memory blocks of uniform size.

 Component bdlma_sequentialallocator
 

Provide a managed allocator using dynamically-allocated buffers.

 Component bdlma_sequentialpool
 

Provide sequential memory using dynamically-allocated buffers.


Detailed Description

Outline
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.