:relfileprefix: ../../../
[#boost-urls-params_ref-replace-0d]

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


Replace elements


=== Synopsis

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

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_base/iterator.adoc[iterator]
replace(
    xref:boost/urls/params_base/iterator.adoc[iterator] pos,
    xref:boost/urls/param_view.adoc[param_view] const& p);
----

=== 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.
[,cpp]
----
url u( "?first=John&last=Doe" );

u.params().replace( u.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.




=== Return Value


An iterator to the element.



=== Parameters

|===
| Name | Description 

| *pos*
| 
An iterator to the element.

| *p*
| 
The param to assign.

|===




