[#bsl-basic_string-0e-insert_range]
= xref:bsl.adoc[bsl]::xref:bsl/basic_string-0e.adoc[basic&lowbar;string&lt;wchar&lowbar;t&gt;]::insert&lowbar;range
:relfileprefix: ../../
:mrdocs:

Insert at the specified `position` in this string the characters from the specified `range` and return an iterator providing non&hyphen;modifiable access to the first inserted character, or a non&hyphen;`const` copy of `position` if `true &equals;&equals; bsl&colon;&colon;ranges&period;empty()`&period; The behavior is undefined unless `position` is an iterator in the range `&lsqb;begin() &period;&period; end()&rsqb;` (both endpoints included)&period; Note that `range` must meet the requirements of an input range and the values from `range` must have a type matching or convertible to (template parameter) `CHAR&lowbar;TYPE`&gt;

== Synopsis

Declared in `&lt;bslstl&lowbar;string&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class RANGE&gt;
xref:bsl/basic_string-0e/iterator.adoc[iterator]
insert&lowbar;range(
    xref:bsl/basic_string-0e/const_iterator.adoc[const&lowbar;iterator] position,
    RANGE&& range);
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
