Create a proctor for moving and destroying the specified array ranges.

Synopsis

Declared in <bslalg_autoarraymovedestructor.h>

AutoArrayMoveDestructor(
    OBJECT_TYPE* destination,
    OBJECT_TYPE* begin,
    OBJECT_TYPE* middle,
    OBJECT_TYPE* end,
    ALLOCATOR allocator = ALLOCATOR());

Description

Create a proctor for the sequence of elements of the parameterized OBJECT_TYPE in the specified range [ begin, end )] which, upon destruction, moves the range [ begin, middle )] to the specified destination and destroys the [ middle, end )] range. The behavior is undefined unless begin, middle, and end refer to a contiguous sequence of initialized OBJECT_TYPE objects, where begin <= middle <= end, and destination refers to a contiguous sequence of (uninitialized) memory of sufficient size to hold end ‐ begin OBJECT_TYPE objects (which must not overlap [begin, end)]).

Parameters

Name

Description

destination

address to which guarded elements are moved

begin

beginning of the guarded range of initialized elements

middle

first element to move (also end of the destroy range)

end

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

allocator

allocator used to destroy elements

Created with MrDocs