BloombergLP::bslalg

Namespace for low-level algorithms and type traits used by BSL containers.

Types

NameDescription
ArrayDestructionPrimitives Namespace for utility functions that destroy arrays of TARGET_TYPE.
ArrayPrimitives Namespace for utility functions that operate on arrays of elements.
ArrayPrimitives_CanBitwiseCopy Metafunction that is true when FROM_TYPE and TO_TYPE are the same type (ignoring top-level const) and that type is bit-wise copyable.
AutoArrayDestructor This class provides a proctor that destroys a guarded range of array elements.
AutoArrayMoveDestructor This class provides a specialized proctor that bit-wise moves and destroys array segments upon destruction.
AutoScalarDestructor Proctor that destroys a guarded object unless released.
BidirectionalLink A node in a doubly-linked (bidirectional) list.
BidirectionalLinkListUtil Namespace for utility functions that manipulate bidirectional linked lists.
BidirectionalNode POD-like node holding a VALUE in a doubly-linked list.
ConstructorProxy Proxy for constructing and destroying an optionally allocator-aware object.
ConstructorProxy_AllocatorType Metafunction yielding the allocator types used with a proxied TYPE.
ConstructorProxy_PolymorphicAllocator Wrapper around bsl::polymorphic_allocator that can tolerate being constructed with a null pointer.
ContainerBase Allocator proxy base class for STL-style containers.
ContainerBase_EmptyBase Empty base class for ContainerBase with a stateless allocator.
ContainerBase_NonEmptyBase Base class for ContainerBase that stores a non-empty allocator.
DequeImpUtil This struct, parameterized by the VALUE_TYPE and a BLOCK_LENGTH, provides the various parameters of the deque implementation.
DequeIterator Primitive random-access iterator over a block-based deque.
DequePrimitives Namespace for primitive algorithms that operate on deques.
DequePrimitives_DequeElementGuard Proctor that destroys a guarded range of deque elements on destruction.
DequePrimitives_DequeEndpointProctor Proctor that restores a deque endpoint iterator on destruction.
DequePrimitives_DequeMoveGuard Guard that reverses a deque move on destruction unless released.
DequePrimitives_ExternalDequeElementGuard Proctor that destroys an externally updated deque element range.
FunctorAdapter This class provides a metafunction that aliases a callable object to a functor type.
FunctorAdapter_FunctionPointer This class provides a functor that delegates to a function pointer.
HasStlIterators This class detects if the specified class TYPE has STL-like iterators.
HasTrait This meta-function evaluates to bsl::true_type if the (template parameter) TYPE has the (template parameter) TRAIT, and to bsl::false_type otherwise.
HashTableAnchor Value-semantic attribute class characterizing the key data of a hash table.
HashTableBucket POD that refers to the first and last nodes of a hash-table bucket.
HashTableImpUtil This struct provides a namespace for a suite of utility functions for creating and manipulating a hash table.
HashTableImpUtil_ExtractKeyResult Metafunction that deduces the return type of KEY_CONFIG::extractKey.
HashUtil This struct provides a namespace for hash functions.
NothrowMovableUtil Namesapace for NothrowMovableWrapper traits and utilities.
NothrowMovableUtil_Traits Metafunction providing traits for NothrowMovableWrapper types.
NothrowMovableWrapper Wrapper asserting a noexcept move constructor for a value of TYPE.
NumericFormatterUtil Namespace struct for free functions supporting to_chars.
RangeCompare Utility for equality and lexicographical comparison of iterator ranges.
RbTreeAnchor Hold the first-node, root-node, and node-count of a binary search tree.
RbTreeNode A node in a red-black binary search tree.
RbTreeUtil This struct provides a namespace for a suite of utility functions that operate on elements of type RbTreeNode.
RbTreeUtilTreeProctor This class implements a proctor that, unless release is called, invokes the parameterized DELETER on each node in the tree supplied at construction.
RbTreeUtil_Validator This struct provides a namespace for auxiliary functions used to validate a red-black binary search tree.
ScalarPrimitives Namespace for utility functions that operate on scalar TARGET_TYPE elements.
SelectTrait Meta-function that selects the first matching trait for a type.
SwapUtil This class provides a namespace for the swap utility method.
SynthThreeWayUtil "Exposition-only" part of bslstl_compare.h
TypeTraitBitwiseCopyable Objects of a type with this trait can be copied using memcpy.
TypeTraitBitwiseEqualityComparable Trait for types whose equality can be tested with memcmp.
TypeTraitBitwiseMoveable Objects of a type with this trait can be "moved" from one memory location to another using memmove or memcpy.
TypeTraitHasPointerSemantics Trait for types that behave as if they were fundamental pointers.
TypeTraitHasStlIterators A TYPE with this trait defines (at minimum) the nested types iterator and const_iterator and the functions begin() and end() having the standard STL semantics.
TypeTraitHasTrivialDefaultConstructor Trait for types that have a trivial default constructor.
TypeTraitNil Nil trait -- every type has this trait.
TypeTraitPair A TYPE with this trait has two data members, first and second of types T::first_type and T::second_type, respectively.
TypeTraitUsesBslmaAllocator A TYPE with this trait uses an allocator derived from bslma::Allocator to supply memory.

Type Aliases

NameDescription
ScalarDestructionPrimitives This alias is defined for backward compatibility.

Enums

NameDescription
Unnamed enum Trait-tag constants used to select DequePrimitives overloads.

Functions

NameDescription
swap Efficiently exchange the values of two HashTableAnchor objects.
operator== Equality operators
operator!= Inequality operators
operator<=> Three-way comparison operators