Move‐insert a source range, shifting subsequent elements.

Synopses

Declared in <bslalg_arrayprimitives.h>

Move‐insert a source range, shifting subsequent elements.

template<class ALLOCATOR>
static
void
moveInsert(
    bsl::allocator_traits<ALLOCATOR>::pointer toBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer toEnd,
    bsl::allocator_traits<ALLOCATOR>::pointer* fromEndPtr,
    bsl::allocator_traits<ALLOCATOR>::pointer fromBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer fromEnd,
    size_type numElements,
    ALLOCATOR allocator);

Move‐insert a source range, shifting subsequent elements.

template<class TARGET_TYPE>
static
void
moveInsert(
    TARGET_TYPE* toBegin,
    TARGET_TYPE* toEnd,
    TARGET_TYPE** fromEndPtr,
    TARGET_TYPE* fromBegin,
    TARGET_TYPE* fromEnd,
    size_type numElements,
    bslma::Allocator* allocator);

Parameters

Name

Description

toBegin

insertion position within the destination array

toEnd

end of the populated destination range

fromEndPtr

loads the end of the remaining valid source range

fromBegin

beginning of the source range to move‐insert

fromEnd

end of the source range to move‐insert

numElements

number of elements to move‐insert

allocator

allocator used to supply memory if required

Created with MrDocs