BloombergLP::bslalg::DequePrimitives::insertAndMoveToBack

insertAndMoveToBack overloads

Synopses

Declared in <bslalg_dequeprimitives.h>

Insert the specified numElements copies of the specified value 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 deque 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).

template<class ALLOCATOR>
static
void
insertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    Iterator position,
    size_type numElements,
    VALUE_TYPE const& value,
    ALLOCATOR allocator);
» more...

Insert the specified numElements copies of the specified value 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 deque 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). Note that the last argument is for removing overload ambiguities and is not used.

template<class ALLOCATOR>
static
void
insertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    Iterator position,
    size_type numElements,
    VALUE_TYPE const& value,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_BITWISE_COPYABLE_TRAITS>);
» more...

Same as the related overload above for insertAndMoveToBack.

template<class ALLOCATOR>
static
void
insertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    Iterator position,
    size_type numElements,
    VALUE_TYPE const& value,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_BITWISE_MOVEABLE_TRAITS>);
» more...

Same as the related overload above for insertAndMoveToBack.

template<class ALLOCATOR>
static
void
insertAndMoveToBack(
    Iterator* toEnd,
    Iterator fromEnd,
    Iterator position,
    size_type numElements,
    VALUE_TYPE const& value,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_NIL_TRAITS>);
» more...

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

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);
» more...