Create a proctor for moving and destroying the specified array ranges.
Declared in <bslalg_autoarraymovedestructor.h>
AutoArrayMoveDestructor(
OBJECT_TYPE* destination,
OBJECT_TYPE* begin,
OBJECT_TYPE* middle,
OBJECT_TYPE* end,
ALLOCATOR allocator = ALLOCATOR());
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)]).
| 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 |