[#BloombergLP-bslalg-AutoArrayMoveDestructor-2constructor]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/AutoArrayMoveDestructor.adoc[AutoArrayMoveDestructor]::AutoArrayMoveDestructor
:relfileprefix: ../../../
:mrdocs:

TBD&colon; document the `allocator` parameter&period; Create a proctor for the sequence of elements of the parameterized `OBJECT&lowbar;TYPE` in the specified range `&lsqb; begin, end )&rsqb;` which, upon destruction, moves the range `&lsqb; begin, middle )&rsqb;` to the specified `destination` and destroys the `&lsqb; middle, end )&rsqb;` range&period; The behavior is undefined unless `begin`, `middle`, and `end` refer to a contiguous sequence of initialized `OBJECT&lowbar;TYPE` objects, where `begin &lt;&equals; middle &lt;&equals; end`, and `destination` refers to a contiguous sequence of (uninitialized) memory of sufficient size to hold `end &hyphen; begin` `OBJECT&lowbar;TYPE` objects (which must not overlap `&lsqb;begin, end)&rsqb;`)&period;

== Synopsis

Declared in `&lt;bslalg&lowbar;autoarraymovedestructor&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
AutoArrayMoveDestructor(
    OBJECT&lowbar;TYPE* destination,
    OBJECT&lowbar;TYPE* begin,
    OBJECT&lowbar;TYPE* middle,
    OBJECT&lowbar;TYPE* end,
    ALLOCATOR allocator = ALLOCATOR());
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
