[#BloombergLP-bdljsn-JsonArray-insert-09] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdljsn.adoc[bdljsn]::xref:BloombergLP/bdljsn/JsonArray.adoc[JsonArray]::insert :relfileprefix: ../../../ :mrdocs: Insert at the specified `index` in this JsonArray the values in the range starting at the specified `first` element, and ending immediately before the specified `last` element. Return an iterator referring to the first newly inserted element. If an exception is thrown, `*this` is unaffected. Throw `bsl::length_error` if `size() + distance(first, last) > maxSize()`. The (template parameter) type `t_INDEX` must be a non‐`bool` integral type. The (template parameter) type `t_INPUT_ITERATOR` shall meet the requirements of an input iterator defined in the C++11 standard [24.2.3]providing access to values of a type convertible to `Json`, and `Json` must be `emplace‐constructible` from `*i` into this `JsonArray`, where `i` is a dereferenceable iterator in the range `[first .. last)]`. The behavior is undefined unless `index` is in the range `[0 .. size()]` (both endpoints included), and `first` and `last` refer to a range of valid values where `first` is at a position at or before `last`. == Synopsis Declared in `<bdljsn_json.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_INDEX, class t_INPUT_ITERATOR> xref:BloombergLP/bdljsn/JsonArray/Iterator-0d.adoc[JsonArray::Iterator] insert( t_INDEX index, t_INPUT_ITERATOR first, t_INPUT_ITERATOR last) requires bsl::is_integral<t_INDEX>::value && !bsl::is_same<t_INDEX, bool>::value; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#