BloombergLP::bslalg::DequePrimitives::moveInsertAndMoveToFront

Move-insert a value toward the front (bitwise-copyable).

Synopsis

Declared in <bslalg_dequeprimitives.h>

template<class ALLOCATOR>
static
void
moveInsertAndMoveToFront(
    Iterator* toBegin,
    Iterator fromBegin,
    Iterator position,
    bslmf::MovableRef<VALUE_TYPE> value,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_BITWISE_COPYABLE_TRAITS> traits);

Description

Insert the specified move-insertable value at the specified position by moving the elements in the range [fromBegin .. position)] backward by 1 position; pass the specified allocator to the move constructor if appropriate. Load into the specified toBegin an iterator to the inserted element (i.e., fromBegin - 1). The behavior is undefined unless fromBegin - 1 is a valid iterator (i.e., the block pointer array holds enough room before the fromBegin position to insert 1 element). Note that the last argument is for removing overload ambiguities and is not used.

Parameters

NameDescription
toBeginloads the beginning iterator after insertion
fromBegincurrent beginning of the deque
positioninsertion position within the deque
valuemove-insertable value to place at position
allocatorallocator passed to the move constructor
traitsunused trait tag for overload resolution