[#BloombergLP-bdlcc-SkipList_PoolUtil]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::SkipList&lowbar;PoolUtil
:relfileprefix: ../../
:mrdocs:

This component&hyphen;private utility handles the lock&hyphen;free pool of list nodes&period;

== Synopsis

Declared in `&lt;bdlcc&lowbar;skiplist&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct SkipList&lowbar;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&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlcc/SkipList_PoolUtil/allocate.adoc[`allocate`] 
| Reserve memory for a node at the specified `level`&period;
| xref:BloombergLP/bdlcc/SkipList_PoolUtil/createPoolManager.adoc[`createPoolManager`] 
| Create a pooled node allocator for up to `numLevels` levels&period;
| xref:BloombergLP/bdlcc/SkipList_PoolUtil/deallocate.adoc[`deallocate`] 
| Return the node at `address` to `poolManager`&period;
| xref:BloombergLP/bdlcc/SkipList_PoolUtil/deletePoolManager.adoc[`deletePoolManager`] 
| Destroy `poolManager` allocated from `basicAllocator`&period;
|===



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