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 (13 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(
    const_iterator i1,
    const_iterator i2,
    InputIterator j1,
    InputIterator j2);
Description

Replaces the characters in the range {i1, i2) with those of {j1, j2).

Precondition

{i1, i2)is a valid range. {j1, j2) 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

InputIterator

The type of the iterators.

Constraints

InputIteratorsatisfies InputIterator and does not satisfy ForwardIterator.

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.

j1

An iterator referring to the first character to replace with.

j2

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

Exceptions

Type

Thrown On

std::length_error

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


PrevUpHomeNext