[#boost-urls-params_encoded_ref-insert-0b] = xref:boost/urls/params_encoded_ref/insert-0b.adoc[boost::urls::params_encoded_ref::insert] :relfileprefix: ../../../ :mrdocs: Insert params == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_encoded_ref.hpp#L519[boost/url/params_encoded_ref.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/params_encoded_base/iterator.adoc[iterator] insert( xref:boost/urls/params_encoded_base/iterator.adoc[iterator] before, std::initializer_list<param_pct_view> init); ---- == Description This function inserts the params in an _initializer‐list_ before the specified position. All iterators that are equal to `before` or come after are invalidated. [NOTE] The strings referenced by the inputs must not come from the underlying url, or else the behavior is undefined. == Complexity Linear in `this‐>url().encoded_query().size()`. == Exception Safety Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input. == Exceptions [cols=2] |=== | Name | Thrown on | `system_error` | `init` contains an invalid percent‐encoding. |=== == Return Value An iterator to the first element inserted, or `before` if `init.size() == 0`. == Parameters [cols=2] |=== | Name | Description | *before* | An iterator before which the element is inserted. This may be equal to `end()`. | *init* | The list of params to insert. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#