Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
basic_static_string::replace (16 of 19 overloads)

Replace a range with a range.

Synopsis
template<
    typename InputIterator>
BOOST_STATIC_STRING_CPP14_CONSTEXPR std::enable_if< detail::is_input_iterator< InputIterator >::value &&!detail::is_forward_iterator< InputIterator >::value, basic_static_string< N, CharT, Traits > & >::type
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

InputIterator satisfies 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