Namespace for utility functions that operate on arrays of elements.
Declared in <bslalg_arrayprimitives.h>
struct ArrayPrimitives;
This struct provides a namespace for a suite of independent utility functions that operate on arrays of elements of parameterized type TARGET_TYPE. Depending on the traits of TARGET_TYPE, the default and copy constructors, destructor, assignment operators, etcetera may not be invoked, optimized away by no-op or bit-wise move or copy.
| Name | Description |
|---|---|
Imp | Implementation detail for ArrayPrimitives utility functions. |
difference_type | Standard signed difference type used by array primitive operations. |
size_type | Standard unsigned size type used by array primitive operations. |
| Name | Description |
|---|---|
copyConstruct | copyConstruct overloads |
defaultConstruct | Value-initialize elements into an uninitialized array. |
destructiveMove | Destructively move elements into an uninitialized array. |
destructiveMoveAndEmplace | Destructively move elements while emplacing one new element. |
destructiveMoveAndInsert | destructiveMoveAndInsert overloads |
destructiveMoveAndMoveInsert | Destructively move elements while move-inserting a source range. |
emplace | Emplace a newly constructed element, shifting subsequent elements. |
erase | Erase a range of elements and close the gap by moving. |
insert | insert overloads |
moveConstruct | Move-construct elements from a range into an uninitialized array. |
moveInsert | Move-insert a source range, shifting subsequent elements. |
rotate | Rotate elements so the middle becomes the new first element. |
uninitializedFillN | Fill an uninitialized array with copies of a value. |