| Home | Libraries | People | FAQ | More

##### basic_static_string::insert (10 of 11 overloads)

Insert into the string.

###### Synopsis

    template<
        typename T>
    constexpr basic_static_string&
    insert(
        basic_static_string::size_type index,
        const T& t);

###### Description

Constructs a temporary `string_view_type` object `sv` from `t` and inserts `{sv.begin(), sv.end())` at `index`.

###### Precondition

`index` shall be valid within `{data(), data() + size()}`

###### Exception Safety

Strong guarantee.

###### Remarks

All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated.

###### Return Value

`*this`

###### Template Parameters

Type | Description
--- | ---
`T` | The type of the object to convert.

###### Constraints

`std::is_convertible<const T&, string_view>::value && !stdis_convertible<const T&, const CharT*>::value && !stdis_convertible<const T&, const basic_static_string&>::value`.

###### Parameters

Name | Description
--- | ---
`index` | The index to insert at.
`t` | The string to insert from.

###### Exceptions

Type | Thrown On
--- | ---
`std::length_error` | `size() + sv.size() > max_size()`
`std::out_of_range` | `index > size()`