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 an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
basic_static_string::replace (3 of 14 overloads)

Replace a part of the string.

Synopsis
template<
    [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]>
constexpr basic_static_string&
replace(
    size_type pos1,
    size_type n1,
    const T& t);
Description

Constructs a temporary string_view_type object sv from t, and replaces rcount characters starting at index pos1 with those of sv, where rcount is std::min(n1, size() - pos1).

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

std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value.

Return Value

*this

Parameters

Name

Description

pos1

The index to replace at.

n1

The number of characters to replace.

t

The object to replace with.

Exceptions

Type

Thrown On

std::length_error

size() + (sv.size() - rcount) > max_size()

std::out_of_range

pos1 > size()


PrevUpHomeNext