[#BloombergLP-bslalg-ArrayPrimitives-insert-06] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ArrayPrimitives.adoc[ArrayPrimitives]::insert :relfileprefix: ../../../ :mrdocs: Insert, into the array at the specified `toBegin` location, the specified `numElements` from the range starting at the specified `fromBegin` iterators of the (template parameter) `FWD_ITER` type (or the (template parameter) `SOURCE_TYPE *`) and ending immediately before the specified `fromEnd` sentinels or iterators of the (template parameter) `SENTINEL` type (or the (template parameter) `SOURCE_TYPE *`), into the array of elements of the parameterized `TARGET_TYPE` starting at the specified `toBegin` address and ending immediately before the specified `toEnd` address, shifting the elements in the array by `numElements` positions towards larger addresses. The behavior is undefined unless the destination array contains `numElements` uninitialized elements after `toEnd`, `numElements` is the distance between `fromBegin` and `fromEnd`, and the input array and the destination array do not overlap. If a copy constructor or assignment operator for `TARGET_TYPE` throws an exception, then any elements created after `toEnd` are destroyed and the elements in the range `[ toBegin, toEnd )]` will have unspecified, but valid, values. == Synopsis Declared in `<bslalg_arrayprimitives.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TARGET_TYPE, class FWD_ITER, class SENTINEL> static void insert( TARGET_TYPE* toBegin, TARGET_TYPE* toEnd, FWD_ITER fromBegin, SENTINEL fromEnd, xref:BloombergLP/bslalg/ArrayPrimitives/size_type.adoc[size_type] numElements, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* allocator); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#