container#

Fully qualified name: carb::container

namespace container#

Carbonite container classes.

Classes#

BufferedObject

Lock-Free Asynchronous Buffer Supports only 1 producer, 1 consumer.

IntrusiveList

IntrusiveList is very similar to std::list, but requires the tracking information to be contained within the stored type T , rather than built around it.

IntrusiveListLink

Defines a "link node" that IntrusiveList will use for tracking data for the contained type.

IntrusiveUnorderedMultimap

IntrusiveUnorderedMultimap is a closed-addressing hash table very similar to std::unordered_multimap, but requires the tracking information to be contained within the stored type T , rather than built around it.

IntrusiveUnorderedMultimapLink

Defines a "link node" that IntrusiveUnorderedMultimap will use for tracking data for the contained type.

LocklessQueue

Implements a lockless queue: a FIFO queue that is thread-safe yet requires no kernel synchronization.

LocklessQueueLink

Defines the link object.

LocklessStack

Implements a lockless stack: a LIFO container that is thread-safe yet requires no kernel involvement.

LocklessStackLink

Defines the link object.

RHUnorderedMap

Implements an Unordered Map, that is: a container that contains a mapping of keys to values where all keys must be unique.

RHUnorderedMultimap

Implements an Unordered Multimap, that is: a container that contains a mapping of keys to values where keys may be inserted multiple times, each creating a new element.

RHUnorderedMultiset

Implements an Unordered Multimap, that is: a container that contains a set of keys where keys may be inserted multiple times, each creating a new element.

RHUnorderedSet

Implements an Unordered Set, that is: a container that contains a set of keys that all must be unique.

RobinHood

Implements a "Robin Hood" open-addressing hash container that can either store keys alone or key/value pairs; this template is not meant to be used directly instead use RHUnorderedSet , RHUnorderedMap , RHUnorderedMultimap , or RHUnorderedMultiset .

Functions#

bool operator!=(const RobinHood< Traits1 > &lhs, const RobinHood< Traits2 > &rhs)

Inequality operator.

bool operator==(const RobinHood< Traits1 > &lhs, const RobinHood< Traits2 > &rhs)

Equality operator.

void swap(RobinHood< Traits > &lhs, RobinHood< Traits > &rhs)

ADL swap function.

Structs#

TransparentStringHasher

String hasher that supports transparency.

Typedefs#

TransparentStringLessCompare

String (lexicographical) less-than-comparator for ordered maps and sets.

Variables#

constexpr size_t kDefaultLoadFactor

The default load-factor value for RobinHood containers.