BloombergLP::bslalg::DequePrimitives::insertAndMoveToBack

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

Synopsis

Declared in <bslalg_dequeprimitives.h>

template<
    class FWD_ITER,
    class SENTINEL,
    class ALLOCATOR>
static
void
insertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    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 [position .. fromEnd)] forward by numElements position. Pass the specified allocator to the copy constructor if appropriate. Load into the specified toEnd an iterator to the end of the data after insertion (i.e., fromEnd + numElements). The behavior is undefined unless fromEnd + numElements is a valid iterator (i.e., the block pointer array holds enough room after the fromEnd position to insert numElements).

Parameters

NameDescription
toEndloads the end iterator after insertion
fromEndcurrent end of the deque
positioninsertion position within the deque
firstbeginning of the source range to insert
lastend of the source range to insert (one past the last)
numElementsnumber of elements in [first .. last)]
allocatorallocator passed to element constructors