BloombergLP::bslalg::DequePrimitives::moveInsertAndMoveToBack

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

Synopsis

Declared in <bslalg_dequeprimitives.h>

template<class ALLOCATOR>
static
void
moveInsertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    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 [position .. fromEnd)] forward by 1 position; pass the specified allocator to the move constructor if appropriate. Load into the specified toEnd an iterator one past the inserted element (i.e., fromEnd + 1). The behavior is undefined unless fromEnd + 1 is a valid iterator (i.e., the block pointer array holds enough room after the fromEnd position to insert 1 element). Note that the last argument is for removing overload ambiguities and is not used.

Parameters

NameDescription
toEndloads the end iterator after insertion
fromEndcurrent end 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