[#BloombergLP-bdlcc-SkipList_PoolUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::SkipList_PoolUtil :relfileprefix: ../../ :mrdocs: This component‐private utility handles the lock‐free pool of list nodes. == Synopsis Declared in `<bdlcc_skiplist.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct SkipList_PoolUtil; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlcc/SkipList_PoolUtil/PoolManager.adoc[`PoolManager`] | Type of the pool manager used by this utility. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlcc/SkipList_PoolUtil/allocate.adoc[`allocate`] | Reserve sufficient space for a node at the specified `level` from the specified `poolManager`, and return the address of the reserved memory. | xref:BloombergLP/bdlcc/SkipList_PoolUtil/createPoolManager.adoc[`createPoolManager`] | Create a new pooled node allocator that manages nodes up to the specified `numLevels` as described by the specified `objectSizes`. For `i` in `[0, numLevels)]`, a node at level `i` will have size `objectSizes[i]` bytes. Use the specified `basicAllocator` to supply memory. Return the address of the new allocator. Note that the behavior is undefined if `basicAllocator` is 0. | xref:BloombergLP/bdlcc/SkipList_PoolUtil/deallocate.adoc[`deallocate`] | Return the node at the specified `address` to the specified `poolManager`. The behavior is undefined if `address` was not allocated from `poolManager`. | xref:BloombergLP/bdlcc/SkipList_PoolUtil/deletePoolManager.adoc[`deletePoolManager`] | Destroy the specified `poolManager` which was allocated from the specified `basicAllocator`. The behavior is undefined if `poolManager` was not allocated from `basicAllocator`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#