[#bsl-deque-0c-insert-0f] = xref:bsl.adoc[bsl]::xref:bsl/deque-0c.adoc[deque]::insert :relfileprefix: ../../ :mrdocs: Insert at the specified `position` in this deque the values in the range starting at the specified `first` and ending immediately before the specified `last` iterators of the (template parameter) type `INPUT_ITERATOR`, and return an iterator providing modifiable access to the first element in the newly inserted sequence of elements. This method offers full guarantee of rollback in case an exception is thrown other than by the `VALUE_TYPE` copy constructor or assignment operator. The (template parameter) type `INPUT_ITERATOR` shall meet the requirements of an input iterator defined in the C++11 standard [input.iterators]providing access to values of a type convertible to `value_type`, and `value_type` must be `emplace‐constructible` from `*i` into this deque, where `i` is a dereferenceable iterator in the range `[first .. last)]` (see {Requirements on `VALUE_TYPE`}). The behavior is undefined unless `position` is an iterator in the range `[cbegin() .. cend()]` (both endpoints included), and `first` and `last` refer to a sequence of valid values where `first` is at a position at or before `last`. == Synopsis Declared in `<bslstl_deque.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/deque-0c/iterator-02.adoc[deque<VALUE_TYPE, ALLOCATOR>::iterator] insert( xref:bsl/deque-0c/const_iterator.adoc[const_iterator] position, INPUT_ITERATOR first, INPUT_ITERATOR last); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#