[#BloombergLP-bdlma-InfrequentDeleteBlockList]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlma.adoc[bdlma]::InfrequentDeleteBlockList
:relfileprefix: ../../
:mrdocs:

Low&hyphen;level memory manager that allocates and manages a sequence of memory blocks&period;

== Synopsis

Declared in `&lt;bdlma&lowbar;infrequentdeleteblocklist&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class InfrequentDeleteBlockList;
----

== Description

This class implements a low&hyphen;level memory manager that allocates and manages a sequence of memory blocks &hyphen;&hyphen; each potentially of a different size as specified during the invocation of the `allocate` method&period; The `release` method deallocates the entire sequence of memory blocks, as does the destructor&period; Note that memory blocks cannot be deallocated individually&period;

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/2constructor.adoc[`InfrequentDeleteBlockList`]         [.small]#[constructor]#
| Create an empty block list for managing memory blocks of varying sizes&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/2destructor.adoc[`&#126;InfrequentDeleteBlockList`] [.small]#[destructor]#
| Destroy this object and deallocate all outstanding memory blocks managed by this object&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/allocate.adoc[`allocate`] 
| Return the address of a contiguous block of memory of the specified size&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/allocator.adoc[`allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/deallocate.adoc[`deallocate`] 
| This method has no effect on the memory block at the specified address&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/release.adoc[`release`] 
| Deallocate all memory blocks managed by this object, returning this object to its default&hyphen;constructed state&period;
| xref:BloombergLP/bdlma/InfrequentDeleteBlockList/releaseAllButLastBlock.adoc[`releaseAllButLastBlock`] 
| Deallocate all except the most&hyphen;recently obtained block of the memory blocks managed by this object&period; If no blocks are managed, this method has no effect&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
