BloombergLP::bslalg::ArrayPrimitives::destructiveMoveAndInsert

destructiveMoveAndInsert overloads

Synopses

Declared in <bslalg_arrayprimitives.h>

Destructively move elements while inserting default-initialized ones.

template<class ALLOCATOR>
static
void
destructiveMoveAndInsert(
    bsl::allocator_traits<ALLOCATOR>::pointer toBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer* fromEndPtr,
    bsl::allocator_traits<ALLOCATOR>::pointer fromBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer position,
    bsl::allocator_traits<ALLOCATOR>::pointer fromEnd,
    size_type numElements,
    ALLOCATOR allocator);
» more...

Destructively move elements while inserting default-initialized ones.

template<class TARGET_TYPE>
static
void
destructiveMoveAndInsert(
    TARGET_TYPE* toBegin,
    TARGET_TYPE** fromEndPtr,
    TARGET_TYPE* fromBegin,
    TARGET_TYPE* position,
    TARGET_TYPE* fromEnd,
    size_type numElements,
    bslma::Allocator* allocator);
» more...

Destructively move elements while inserting copies of a value.

template<class ALLOCATOR>
static
void
destructiveMoveAndInsert(
    bsl::allocator_traits<ALLOCATOR>::pointer toBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer* fromEndPtr,
    bsl::allocator_traits<ALLOCATOR>::pointer fromBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer position,
    bsl::allocator_traits<ALLOCATOR>::pointer fromEnd,
    bsl::allocator_traits<ALLOCATOR>::value_type const& value,
    size_type numElements,
    ALLOCATOR allocator);
» more...

Destructively move elements while inserting copies of a value.

template<class TARGET_TYPE>
static
void
destructiveMoveAndInsert(
    TARGET_TYPE* toBegin,
    TARGET_TYPE** fromEndPtr,
    TARGET_TYPE* fromBegin,
    TARGET_TYPE* position,
    TARGET_TYPE* fromEnd,
    TARGET_TYPE const& value,
    size_type numElements,
    bslma::Allocator* allocator);
» more...

Destructively move elements while inserting a source range.

template<
    class ALLOCATOR,
    class FWD_ITER,
    class SENTINEL>
static
void
destructiveMoveAndInsert(
    bsl::allocator_traits<ALLOCATOR>::pointer toBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer* fromEndPtr,
    bsl::allocator_traits<ALLOCATOR>::pointer fromBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer position,
    bsl::allocator_traits<ALLOCATOR>::pointer fromEnd,
    FWD_ITER first,
    SENTINEL last,
    size_type numElements,
    ALLOCATOR allocator);
» more...

Destructively move elements while inserting a source range.

template<
    class TARGET_TYPE,
    class FWD_ITER,
    class SENTINEL>
static
void
destructiveMoveAndInsert(
    TARGET_TYPE* toBegin,
    TARGET_TYPE** fromEndPtr,
    TARGET_TYPE* fromBegin,
    TARGET_TYPE* position,
    TARGET_TYPE* fromEnd,
    FWD_ITER first,
    SENTINEL last,
    size_type numElements,
    bslma::Allocator* allocator);
» more...

Parameters

NameDescription
toBeginbeginning of the uninitialized destination range
fromEndPtrloads the end of the remaining valid source range
fromBeginbeginning of the source range
positioninsertion position within the source range
fromEndend of the source range (one past the last element)
numElementsnumber of default-initialized elements to insert
allocatorallocator used to supply memory if required
valuevalue copied into each inserted element
firstbeginning of the range of elements to insert
lastend of the range of elements to insert