Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
basic_static_string::replace (2 of 14 overloads)

Replace a part of the string.

Synopsis
template<
    std::size_t M>
constexpr basic_static_string&
replace(
    size_type pos1,
    size_type n1,
    const basic_static_string< M, CharT, Traits >& str,
    size_type pos2,
    size_type n2 = npos);
Description

Replaces rcount characters starting at index pos1 with those of str.subview(pos2, n2), where rcount is std::min(n1, size() - pos1).

Exception Safety

Strong guarantee.

Remarks

The replacement is done unchecked when the capacity of str differs from that of the string the function is called on. All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated.

Return Value

*this

Parameters

Name

Description

pos1

The index to replace at.

n1

The number of characters to replace.

str

The string to replace with.

pos2

The index to begin the substring.

n2

The length of the substring. The default argument for this parameter is npos.

Exceptions

Type

Thrown On

std::length_error

size() + (std::min(str.size(), n2) - rcount) > max_size()

std::out_of_range

pos1 > size()

std::out_of_range

pos2 > str.size()


PrevUpHomeNext