Move the elements of type allocator_traits<ALLOCATOR>::value_type in the range beginning at the specified fromBegin location and ending immediately before the specified fromEnd location into the uninitialized array beginning at the specified toBegin location, using the specified allocator to supply memory (if required). On return, the elements in the input range are invalid, i.e., their destructors must not be called after this operation returns. If a constructor throws an exception during this operation, the output array is left in an uninitialized state. If a constructor other than the move constructor of a non‐copy‐constructible type throws an exception during this operation, the input array is unaffected; otherwise, if the move constructor of a non‐copy‐constructible type throws an exception during this operation, the input array is left in a valid but unspecified state. The behavior is undefined unless toBegin refers to space sufficient to hold fromEnd ‐ fromBegin elements.

Synopsis

Declared in <bslalg_arrayprimitives.h>

template<class ALLOCATOR>
static
void
destructiveMove(
    bsl::allocator_traits<ALLOCATOR>::pointer toBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer fromBegin,
    bsl::allocator_traits<ALLOCATOR>::pointer fromEnd,
    ALLOCATOR allocator);

Created with MrDocs