[#BloombergLP-bdlma-InfrequentDeleteBlockList] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::InfrequentDeleteBlockList :relfileprefix: ../../ :mrdocs: This class implements a low‐level memory manager that allocates and manages a sequence of memory blocks ‐‐ each potentially of a different size as specified during the invocation of the `allocate` method. The `release` method deallocates the entire sequence of memory blocks, as does the destructor. Note that memory blocks cannot be deallocated individually. == Synopsis Declared in `<bdlma_infrequentdeleteblocklist.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class InfrequentDeleteBlockList; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/2constructor.adoc[`InfrequentDeleteBlockList`] [.small]#[constructor]# | Create an empty block list suitable for managing memory blocks of varying sizes. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/2destructor.adoc[`~InfrequentDeleteBlockList`] [.small]#[destructor]# | Destroy this object and deallocate all outstanding memory blocks managed by this object. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/allocate.adoc[`allocate`] | Return the address of a contiguous block of memory of the specified `size` (in bytes). If `size` is 0, no memory is allocated and 0 is returned. The returned memory is guaranteed to be maximally aligned. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/allocator.adoc[`allocator`] | Return the allocator used by this object to supply memory. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/deallocate.adoc[`deallocate`] | This method has no effect on the memory block at the specified `address` as all memory allocated by this object is managed. The behavior is undefined unless `address` was allocated by this object, and has not already been released. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/release.adoc[`release`] | Deallocate all memory blocks managed by this object, returning this object to its default‐constructed state. | xref:BloombergLP/bdlma/InfrequentDeleteBlockList/releaseAllButLastBlock.adoc[`releaseAllButLastBlock`] | Deallocate all except the most‐recently obtained block of the memory blocks managed by this object. If no blocks are managed, this method has no effect. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#