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

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

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

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

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

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

Parameters

Name

Description

toBegin

beginning of the uninitialized destination range

fromEndPtr

loads the end of the remaining valid source range

fromBegin

beginning of the source range

position

insertion position within the source range

fromEnd

end of the source range (one past the last element)

numElements

number of default‐initialized elements to insert

allocator

allocator used to supply memory if required

value

value copied into each inserted element

first

beginning of the range of elements to insert

last

end of the range of elements to insert

Created with MrDocs