[#BloombergLP-bslalg-ArrayPrimitives-erase-05] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ArrayPrimitives.adoc[ArrayPrimitives]::erase :relfileprefix: ../../../ :mrdocs: Destroy the elements of the parameterized `TARGET_TYPE` in the array starting at the specified `first` address and ending immediately before the specified `middle` address, and move the elements in the array starting at `middle` and ending at the specified `last` address down to the `first` address. If an assignment throws an exception during this process, all of the elements in the range `[ first, last )]` will have unspecified but valid values, and no elements are destroyed. The behavior is undefined unless `first <= middle <= last`. == Synopsis Declared in `<bslalg_arrayprimitives.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TARGET_TYPE> static void erase( TARGET_TYPE* first, TARGET_TYPE* middle, TARGET_TYPE* last, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* allocator = 0); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#