This class provides a specialized proctor that bit‐wise moves and destroys array segments upon destruction.
Synopsis
Declared in <bslalg_autoarraymovedestructor.h>
template<
class OBJECT_TYPE,
class ALLOCATOR = bsl::allocator<OBJECT_TYPE>>
class AutoArrayMoveDestructor;
Description
Upon destruction and unless the release method has been called, this proctor bit‐wise moves the elements in a segment of an array of parameterized OBJECT_TYPE back to some destination, and destroys some other elements in an adjacent segment of the same array. The elements destroyed are delimited by the range [ begin(), middle() )] and those moved to destination() and in the range [ middle(), end() )]. Note that, once constructed, begin() and end() remain fixed. As the guard advances, middle() and destination() move, reflecting the successful transfer of data between the moving range and the destination.
Member Functions
Name |
Description |
|
Create a proctor for moving and destroying the specified array ranges. |
|
Bit‐wise move the range |
Increment both middle and destination pointers by one position. |
|
Return the address at the beginning of the guarded range. |
|
Return the destination address for elements moved on destruction. |
|
Return the address at the end of the guarded range. |
|
Return the address at the middle of the guarded range. |
Created with MrDocs