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

== 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
  

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_encoded_base/iterator.adoc[iterator]
xref:boost/urls/params_encoded_ref/replace-0f.adoc[pass:[replace]](
    xref:boost/urls/params_encoded_base/iterator.adoc[iterator] pos,
    xref:boost/urls/param_pct_view.adoc[param_pct_view] const& p);
----

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

[source,cpp,subs="verbatim,macros,-callouts"]
----
template<class FwdIt>
xref:boost/urls/params_encoded_base/iterator.adoc[iterator]
xref:boost/urls/params_encoded_ref/replace-06.adoc[pass:[replace]](
    xref:boost/urls/params_encoded_base/iterator.adoc[iterator] from,
    xref:boost/urls/params_encoded_base/iterator.adoc[iterator] to,
    FwdIt first,
    FwdIt last);
----
  
=== Description


This function replaces the contents
of the element at `pos` with the
specified param.



All iterators that are equal to
`pos` or come after are invalidated.
[NOTE]

The strings passed in must not come
from the element being replaced,
or else the behavior is undefined.
[,cpp]
----
url u( "?first=John&last=Doe" );

u.encoded_params().replace( u.encoded_params().begin(), { "title", "Mr" });

assert( u.encoded_query() == "title=Mr&last=Doe" );
----

=== Linear in `this-&gt;url().encoded_query().size()`.

=== Strong guarantee.

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


=== Exceptions

|===
| Name | Thrown on

| ``p``
| 
contains an invalid percent-encoding.

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

| `The`
| 
range contains an invalid percent-encoding.

|===

=== Return Value


An iterator to the element.



=== Parameters

|===
| Name | Description 

| *pos*
| 
An iterator to the element.

| *p*
| 
The param to assign.

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

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

| *first,*
| 
last The range of params
to assign.

|===




