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

This is the documentation for a snapshot of the develop branch, built from commit ec9f6e560b.
PrevUpHomeNext
basic_static_string::replace (9 of 14 overloads)

Replace a part of the string.

Synopsis
template<
    typename T>
constexpr basic_static_string&
replace(
    const_iterator i1,
    const_iterator i2,
    const T& t);
Description

Constructs a temporary string_view_type object sv from t, and replaces the characters in the range {i1, i2) with those of sv.

Precondition

{i1, i2)is a valid range.

Exception Safety

Strong guarantee.

Remarks

All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated.

Template Parameters

Type

Description

T

The type of the object to convert.

Constraints

stdis_convertible<const T&, string_view>::value && !stdis_convertible<const T&, const CharT*>::value && !stdis_convertible<const T&, const basic_static_string&>::value.

Return Value

*this

Parameters

Name

Description

i1

An iterator referring to the first character to replace.

i2

An iterator referring past the end of the last character to replace.

t

The object to replace with.

Exceptions

Type

Thrown On

std::length_error

size() + (sv.size() - std::distance(i1, i2)) > max_size()


PrevUpHomeNext