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::insert (11 of 11 overloads)

Insert into 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&
insert(
    size_type index,
    const T& t,
    size_type index_str,
    size_type count = npos);
Description

Constructs a temporary string_view_type object sv from t and inserts sv.substr(index_str, count) at index.

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_pointer>::value.

Return Value

*this

Parameters

Name

Description

index

The index to insert at.

t

The string to insert from.

index_str

The index in the temporary string_view_type object to start the substring from.

count

The number of characters to insert.

Exceptions

Type

Thrown On

std::length_error

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

std::out_of_range

index > size()

std::out_of_range

index_str > sv.size()


PrevUpHomeNext