basic_string&
replace(size_type pos1, size_type n1,
const basic_string& str);
basic_string&
replace(size_type pos1, size_type n1,
const basic_string& str,
size_type pos2, size_type n2 = npos);
Effects: Определяет эффективную длинуrlen вставляемой строки как меньшее из вызововn2 иstr.size() - pos2 и replace(pos1, n1, str.data() + pos2, rlen).
basic_string& replace(size_type pos1, size_type n1,
basic_string_view<charT, traits> sv);
template<class T>
basic_string& replace(size_type pos1, size_type n1, const T& t,
size_type pos2, size_type n2 = npos);
Effects: Создает переменнуюsv, как будто bybasic_string_view<charT, traits> sv = t. Определяет эффективную длинуrlen вставляемой строки как меньшее из вызововn2 иsv.size() - pos2иreplace(pos1, n1, 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&
replace(size_type pos1, size_type n1, const charT* s, size_type n2);
Throws:out_of_range еслиpos1 > size() илиlength_error если длина результирующей строки превыситmax_size() (см. ниже).
Effects: Определяет эффективную длинуxlen удаляемой строки как меньшее из значенийn1 иsize() - pos1. Если size() - xlen >= max_size() - n2 кидаетlength_error. В противном случае функция заменяет строку, управляемую символом *,this строкой длиныsize() - xlen + n2 , первыеpos1 элементы которой являются копией начальных элементов исходной строки*this, которой управляет , чьи следующиеn2 элементы являются копией начальныхn2 элементовs, а остальные элементы - копия элементов исходной строки, управляемая*this начиная с позиции pos + xlen.
basic_string&
replace(size_type pos, size_type n, const charT* s);
basic_string&
replace(size_type pos1, size_type n1,
size_type n2, charT c);
basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str);
basic_string& replace(const_iterator i1, const_iterator i2,
basic_string_view<charT, traits> sv);
basic_string&
replace(const_iterator i1, const_iterator i2, const charT* s, size_type n);
Requires:[begin(), i1) и[i1, i2) являются допустимыми диапазонами и s указывают на массив, состоящий как минимум изn элементовcharT.
basic_string& replace(const_iterator i1, const_iterator i2, const charT* s);
Requires:[begin(), i1) и[i1, i2) являются допустимыми диапазонами и s указывают на массив, состоящий как минимум изtraits::length(s) + 1 элементовcharT.
basic_string& replace(const_iterator i1, const_iterator i2, size_type n,
charT c);
template<class InputIterator>
basic_string& replace(const_iterator i1, const_iterator i2,
InputIterator j1, InputIterator j2);
basic_string& replace(const_iterator i1, const_iterator i2,
initializer_list<charT> il);