Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
basic_static_string::replace (6 of 19 overloads)

Replace a substring with a substring of 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(
    size_type pos1,
    size_type n1,
    const T& t,
    size_type pos2,
    size_type n2 = npos);
Description

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

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.

pos2

The index to begin the substring.

n2

The length of the substring. The default argument for this parameter is basic_static_string::npos.

Exceptions

Type

Thrown On

std::length_error

size() + (std::min(n2, sv.size()) - rcount) > max_size()

std::out_of_range

pos1 > size()

std::out_of_range

pos2 > sv.size()


PrevUpHomeNext