[#BloombergLP-bslalg-ArrayPrimitives] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::ArrayPrimitives :relfileprefix: ../../ :mrdocs: Namespace for utility functions that operate on arrays of elements. == Synopsis Declared in `<bslalg_arrayprimitives.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct ArrayPrimitives; ---- == Description 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. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ArrayPrimitives/Imp.adoc[`Imp`] | Implementation detail for `ArrayPrimitives` utility functions. | xref:BloombergLP/bslalg/ArrayPrimitives/difference_type.adoc[`difference_type`] | Standard signed difference type used by array primitive operations. | xref:BloombergLP/bslalg/ArrayPrimitives/size_type.adoc[`size_type`] | Standard unsigned size type used by array primitive operations. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ArrayPrimitives/copyConstruct-073.adoc[`copyConstruct`] | `copyConstruct` overloads | xref:BloombergLP/bslalg/ArrayPrimitives/defaultConstruct-03.adoc[`defaultConstruct`] | Value‐initialize elements into an uninitialized array. | xref:BloombergLP/bslalg/ArrayPrimitives/destructiveMove-08.adoc[`destructiveMove`] | Destructively move elements into an uninitialized array. | xref:BloombergLP/bslalg/ArrayPrimitives/destructiveMoveAndEmplace.adoc[`destructiveMoveAndEmplace`] | Destructively move elements while emplacing one new element. | xref:BloombergLP/bslalg/ArrayPrimitives/destructiveMoveAndInsert-08.adoc[`destructiveMoveAndInsert`] | `destructiveMoveAndInsert` overloads | xref:BloombergLP/bslalg/ArrayPrimitives/destructiveMoveAndMoveInsert-07c.adoc[`destructiveMoveAndMoveInsert`] | Destructively move elements while move‐inserting a source range. | xref:BloombergLP/bslalg/ArrayPrimitives/emplace-0e.adoc[`emplace`] | Emplace a newly constructed element, shifting subsequent elements. | xref:BloombergLP/bslalg/ArrayPrimitives/erase-00.adoc[`erase`] | Erase a range of elements and close the gap by moving. | xref:BloombergLP/bslalg/ArrayPrimitives/insert-0ad.adoc[`insert`] | `insert` overloads | xref:BloombergLP/bslalg/ArrayPrimitives/moveConstruct-00.adoc[`moveConstruct`] | Move‐construct elements from a range into an uninitialized array. | xref:BloombergLP/bslalg/ArrayPrimitives/moveInsert-04d.adoc[`moveInsert`] | Move‐insert a source range, shifting subsequent elements. | xref:BloombergLP/bslalg/ArrayPrimitives/rotate.adoc[`rotate`] | Rotate elements so the middle becomes the new first element. | xref:BloombergLP/bslalg/ArrayPrimitives/uninitializedFillN-04.adoc[`uninitializedFillN`] | Fill an uninitialized array with copies of a value. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#