Insert a source range, shifting existing elements toward the front.

Synopsis

Declared in <bslalg_dequeprimitives.h>

template<
    class FWD_ITER,
    class SENTINEL,
    class ALLOCATOR>
static
void
insertAndMoveToFront(
    Iterator* toBegin,
    Iterator fromBegin,
    Iterator position,
    FWD_ITER first,
    SENTINEL last,
    size_type numElements,
    ALLOCATOR allocator);

Description

Insert the specified numElements in the range [first .. last)] at the specified position, by moving the elements in the range [fromBegin .. position)] backward by numElements position. Pass the specified allocator to the copy constructor if appropriate. Load into the specified toBegin an iterator to the end of the data after insertion (i.e., fromBegin ‐ numElements). The behavior is undefined unless fromBegin ‐ numElements is a valid iterator (i.e., the block pointer array holds enough room before the fromBefore position to insert numElements).

Parameters

Name

Description

toBegin

loads the beginning iterator after insertion

fromBegin

current beginning of the deque

position

insertion position within the deque

first

beginning of the source range to insert

last

end of the source range to insert (one past the last)

numElements

number of elements in [first .. last)]

allocator

allocator passed to element constructors

Created with MrDocs