Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
basic_static_string::replace (12 of 19 overloads)

Replace a range with an object convertible to string_view_type.

Synopsis
template<
    typename T,
    [role red error.class-detail-template.1][role red error.class-detail-template.2] = detail::enable_if_viewable_t<T, CharT, Traits>>
BOOST_STATIC_STRING_CPP14_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

std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::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