:relfileprefix: ../../../
[#boost-urls-params_encoded_ref-replace-08]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/params_encoded_ref.adoc[pass:[params_encoded_ref]]::replace


Replace params


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_encoded_ref.hpp#L745[boost/url/params_encoded_ref.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_encoded_base/iterator.adoc[iterator]
replace(
    xref:boost/urls/params_encoded_base/iterator.adoc[iterator] from,
    xref:boost/urls/params_encoded_base/iterator.adoc[iterator] to,
    xref:std.adoc[std]::initializer_list<xref:boost/urls/param_pct_view.adoc[param_pct_view]> init);
----

== Description


This function replaces a range of
params with the params in an
_initializer-list_
.



All iterators that are equal to
`from` 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-&gt;url().encoded_query().size()`.

=== Exception Safety

Strong guarantee.
Calls to allocate may throw.
Exceptions thrown on invalid input.



== Exceptions

|===
| Name | Thrown on

| `system_error`
| 
`init` contains an invalid percent-encoding.

|===


== Return Value


An iterator to the first
element inserted, or one past `to` if
`init.size() &equals;&equals; 0`.



== Parameters

|===
| Name | Description 

| *from,to*
| 
The range of params
to replace.

| *init*
| 
The list of params to assign.

|===




