[#BloombergLP-bslstl-BidirectionalNodePool] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::BidirectionalNodePool :relfileprefix: ../../ :mrdocs: This class provides methods for creating and destroying nodes using the appropriate allocator‐traits of the (template parameter) type `ALLOCATOR`. == Synopsis Declared in `<bslstl_bidirectionalnodepool.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE, class ALLOCATOR> class BidirectionalNodePool; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/BidirectionalNodePool/AllocatorType.adoc[`AllocatorType`] | Alias for the allocator type defined by `SimplePool`. | xref:BloombergLP/bslstl/BidirectionalNodePool/size_type.adoc[`size_type`] | Alias for the `size_type` of the allocator defined by `SimplePool`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/BidirectionalNodePool/2constructor-07.adoc[`BidirectionalNodePool`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslstl/BidirectionalNodePool/adopt.adoc[`adopt`] | Adopt all outstanding allocations from the specified `pool`. | xref:BloombergLP/bslstl/BidirectionalNodePool/allocator-01.adoc[`allocator`] | `allocator` overloads | xref:BloombergLP/bslstl/BidirectionalNodePool/cloneNode.adoc[`cloneNode`] | Allocate a node and copy‐construct its `VALUE` from `original`. | xref:BloombergLP/bslstl/BidirectionalNodePool/deleteNode.adoc[`deleteNode`] | Destroy `linkNode` and return its memory to this pool. | xref:BloombergLP/bslstl/BidirectionalNodePool/emplaceIntoNewNode.adoc[`emplaceIntoNewNode`] | Allocate a node and construct its `VALUE` from `arguments`. | xref:BloombergLP/bslstl/BidirectionalNodePool/moveIntoNewNode.adoc[`moveIntoNewNode`] | Allocate a node and move‐construct its `VALUE` from `original`. | xref:BloombergLP/bslstl/BidirectionalNodePool/release.adoc[`release`] | Relinquish all memory currently allocated with the memory pool maintained by this object. | xref:BloombergLP/bslstl/BidirectionalNodePool/reserveNodes.adoc[`reserveNodes`] | Reserve memory for at least the specified `numNodes`. | xref:BloombergLP/bslstl/BidirectionalNodePool/swapExchangeAllocators.adoc[`swapExchangeAllocators`] | Exchange this pool's nodes and allocator with those of `other`. | xref:BloombergLP/bslstl/BidirectionalNodePool/swapRetainAllocators.adoc[`swapRetainAllocators`] | Exchange this pool's nodes with those of `other`. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/swap-0ee.adoc[`swap`] | Exchange the nodes of the specified `a` and `b` objects. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#