[#BloombergLP-bslalg-ArrayPrimitives-erase-0d] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ArrayPrimitives.adoc[ArrayPrimitives]::erase :relfileprefix: ../../../ :mrdocs: TBD: improve comment Destroy the elements of type given by the `allocator_traits` class template for (template parameter) `ALLOCATOR` starting at the specified `first` `first` pointer and ending immediately before the specified `middle` pointer, and move the elements in the array starting at `middle` and ending at the specified `last` pointer down to the `first` pointer. 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 ALLOCATOR> static void erase( bsl::allocator_traits<ALLOCATOR>::pointer first, bsl::allocator_traits<ALLOCATOR>::pointer middle, bsl::allocator_traits<ALLOCATOR>::pointer last, ALLOCATOR allocator); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#