...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Insert segments.
template< class FwdIt> iterator insert( iterator before, FwdIt first, FwdIt last);
This function inserts the segments in a range before the specified position. Reserved characters in the range are automatically escaped. Escapes in the range are preserved.
All iterators that are equal to before
or come after are invalidated.
None of the character buffers referenced by the range may overlap the character buffer of the underlying url, or else the behavior is undefined.
std::is_convertible< std::iterator_traits< FwdIt >::reference_type, pct_string_view >::value == true
Linear in std::distance(
first,
last )
+ this->url().encoded_resource().size()
.
Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input.
Type |
Thrown On |
---|---|
|
The range contains an invalid percent-encoding. |
An iterator to the first segment inserted, or before
if init.empty()
.
Name |
Description |
---|---|
|
An iterator before which the range is inserted. This may be
equal to |
|
The range of segments to insert. |