folly::ConcurrentBSkipList

Concurrent B-skip-list container; declared here for friend declarations.

Synopsis

Declared in <folly/ConcurrentBSkipList.h>

template<
    typename T,
    typename PayloadType = void,
    int B = 16,
    KeyReadPolicy ReadPolicy = bskip_detail::kDefaultReadPolicy<T>,
    LeafStoragePolicy StoragePolicy = LeafStoragePolicy::Separate,
    typename Policy = ConcurrentBSkipDefaultPolicy<T>>
class ConcurrentBSkipList;

Types

NameDescription
Skipper A forward-only cursor over a ConcurrentBSkipList.

Type Aliases

NameDescription
FindResult The result of a find: an optional key, or key/payload pair with payload.
key_type The key type stored in the container.
leaf_node_type The leaf node type holding the stored keys.
payload_type The mapped payload type, or void for a set.

Member Functions

NameDescription
ConcurrentBSkipList [constructor]Constructors
~ConcurrentBSkipList [destructor]Destroys the container and frees its nodes.
operator= Assignment operators
add add overloads
addOrUpdate Inserts a key or updates the payload of an existing live key.
contains contains overloads
count count overloads
empty Returns whether the container has no live entries.
erase Removes a key, matching the standard erase signature.
find find overloads
forEachElement Invokes a callable for each live element in the container.
remove Removes a key by tombstoning its live entry.
removeAndGetPayload Removes a key and returns its payload if it was live.
size Returns the number of live entries.
updatePayload Updates the payload of a live key in place.

Static Data Members

NameDescription
kHasPayload Whether the container stores a payload alongside each key.
kInlinePayloadStorage Whether payloads are stored inline in the leaf nodes.
kReadPolicy The policy controlling how keys are read during scans.

Template Parameters

NameDescription
TThe key type; its numeric_limits min/max are reserved sentinels.
PayloadTypeThe mapped payload type, or void for a set.
BThe per-node key capacity.
ReadPolicyThe policy controlling how keys are read during scans.
StoragePolicyWhether leaf payloads are stored inline or separately.
PolicySupplies Hash, Comp, NodeAlloc, and promotion parameters.