Move‐insert a value, shifting existing elements toward the front.

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);

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).

Parameters

Name

Description

toBegin

loads the beginning iterator after insertion

fromBegin

current beginning of the deque

position

insertion position within the deque

value

move‐insertable value to place at position

allocator

allocator passed to the move constructor

Created with MrDocs