basic_string&
insert(size_type pos,
const basic_string& str);
basic_string&
insert(size_type pos1,
const basic_string& str,
size_type pos2, size_type n = npos);
Effects: Определяет эффективную длину rlen строки для вставки в качестве меньшего из вызовов n и str.size() - pos2 и insert(pos1, str.data() + pos2, rlen).
basic_string& insert(size_type pos, basic_string_view<charT, traits> sv);
template<class T>
basic_string& insert(size_type pos1, const T& t,
size_type pos2, size_type n = npos);
Effects: Создает переменную sv, как будто by basic_string_view<charT, traits> sv = t. Определяет эффективную длину rlen строки, которая назначается как меньшее из вызовов n и sv.size() - pos2и insert(pos1, sv.data() + pos2, rlen).
Remarks: Эта функция не будет участвовать в разрешении перегрузки , если is_convertible_v<const T&, basic_string_view<charT, traits>> не true и is_convertible_v<const T&, const charT*> является false.
basic_string&
insert(size_type pos, const charT* s, size_type n);
Effects: Заменяет строку, управляемую *this строкой длины size() + n , первые pos элементы которой являются копией начальных элементов исходной строки, которой управляет, *this и чьи следующие n элементы являются копией элементов в, s а остальные элементы являются копией остальных элементов исходная строка, управляемая *this.
basic_string&
insert(size_type pos, const charT* s);
Requires: s указывает на массив, состоящий как минимум из traits::length(s) + 1 элементов charT.
basic_string&
insert(size_type pos, size_type n, charT c);
iterator insert(const_iterator p, charT c);
iterator insert(const_iterator p, size_type n, charT c);
template<class InputIterator>
iterator insert(const_iterator p, InputIterator first, InputIterator last);
Returns: Итератор, который ссылается на копию первого вставленного символа, или p если first == last.
iterator insert(const_iterator p, initializer_list<charT> il);