[#bsl-vector-0e8-insert-05] = xref:bsl.adoc[bsl]::xref:bsl/vector-0e8.adoc[vector<unsigned long>]::insert :relfileprefix: ../../ :mrdocs: Insert at the specified `position` in this vector 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 (other than by the copy constructor, move constructor, assignment operator, or move assignment operator of `value_type`), `*this` is unaffected. Throw `std::length_error` if `size() + distance(first, last) > max_size()`. The (template parameter) type `INPUT_ITER` 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 `value_type`, and `value_type` must be `emplace‐constructible` from `*i` into this vector, 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 `[begin() .. end()]` (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 `<bslstl_vector.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITER> xref:bsl/vector-0e8/iterator.adoc[iterator] insert( xref:bsl/vector-0e8/const_iterator.adoc[const_iterator] position, INPUT_ITER first, INPUT_ITER last); ---- == Description NOTE: This function has been implemented inline due to an issue with the Sun compiler. [.small]#Created with https://www.mrdocs.com[MrDocs]#