[#BloombergLP-bslalg-DequePrimitives-01] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::DequePrimitives :relfileprefix: ../../ :mrdocs: Namespace for primitive algorithms that operate on deques. == Synopsis Declared in `<bslalg_dequeprimitives.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, int BLOCK_LENGTH> struct DequePrimitives; ---- == Description This `struct` provides a namespace for a suite of utility functions that operate on deques parameterized by the `VALUE_TYPE` and `BLOCK_LENGTH`. Depending on the traits of `VALUE_TYPE`, the default and copy constructors, destructor, assignment operators, etcetera may not be invoked, and instead the operation can be optimized using a no‐op, bitwise move, or bitwise copy. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives-01/Iterator.adoc[`Iterator`] | Iterator type used to traverse elements in a deque. | xref:BloombergLP/bslalg/DequePrimitives-01/size_type.adoc[`size_type`] | Unsigned size type used by deque primitive operations. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives-01/destruct-0e.adoc[`destruct`] | `destruct` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/emplaceAndMoveToBack.adoc[`emplaceAndMoveToBack`] | Emplace a value, shifting existing elements toward the back. | xref:BloombergLP/bslalg/DequePrimitives-01/emplaceAndMoveToBackDispatch-0e.adoc[`emplaceAndMoveToBackDispatch`] | `emplaceAndMoveToBackDispatch` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/emplaceAndMoveToFront.adoc[`emplaceAndMoveToFront`] | Emplace a value, shifting existing elements toward the front. | xref:BloombergLP/bslalg/DequePrimitives-01/emplaceAndMoveToFrontDispatch-08.adoc[`emplaceAndMoveToFrontDispatch`] | `emplaceAndMoveToFrontDispatch` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/erase-0c.adoc[`erase`] | `erase` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/insertAndMoveToBack-0d.adoc[`insertAndMoveToBack`] | `insertAndMoveToBack` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/insertAndMoveToFront-00.adoc[`insertAndMoveToFront`] | `insertAndMoveToFront` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/moveBack.adoc[`moveBack`] | Move elements backward with `std::memmove` and update the iterators. | xref:BloombergLP/bslalg/DequePrimitives-01/moveFront.adoc[`moveFront`] | Move elements forward with `std::memmove` and update the iterators. | xref:BloombergLP/bslalg/DequePrimitives-01/moveInsertAndMoveToBack-0f.adoc[`moveInsertAndMoveToBack`] | `moveInsertAndMoveToBack` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/moveInsertAndMoveToFront-00.adoc[`moveInsertAndMoveToFront`] | `moveInsertAndMoveToFront` overloads | xref:BloombergLP/bslalg/DequePrimitives-01/uninitializedFillNBack.adoc[`uninitializedFillNBack`] | Append copies of a value to the back of an uninitialized deque range. | xref:BloombergLP/bslalg/DequePrimitives-01/uninitializedFillNFront.adoc[`uninitializedFillNFront`] | Prepend copies of a value to the front of an uninitialized deque range. | xref:BloombergLP/bslalg/DequePrimitives-01/valueInititalizeN.adoc[`valueInititalizeN`] | Append value‐initialized elements to the back of a deque. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives-0c.adoc[`DequePrimitives<VALUE_TYPE, 1>`] | Partial specialization of `DequePrimitives` for one element per block. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#