This component‐private utility handles the lock‐free pool of list nodes.

Synopsis

Declared in <bdlcc_skiplist.h>

struct SkipList_PoolUtil;

Type Aliases

Name

Description

PoolManager

Type of the pool manager used by this utility.

Static Member Functions

Name

Description

allocate

Reserve sufficient space for a node at the specified level from the specified poolManager, and return the address of the reserved memory.

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.

deallocate

Return the node at the specified address to the specified poolManager. The behavior is undefined if address was not allocated from poolManager.

deletePoolManager

Destroy the specified poolManager which was allocated from the specified basicAllocator. The behavior is undefined if poolManager was not allocated from basicAllocator.

Created with MrDocs