:relfileprefix: ../../../
[#boost-urls-params_encoded_ref-assign-00]

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


Assign params


=== Synopsis

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

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

=== Description


This function replaces the entire
contents of the view with the params
in the
_initializer-list_
.



All iterators are invalidated.
[NOTE]

The strings referenced by the inputs
must not come from the underlying url,
or else the behavior is undefined.
[,cpp]
----
url u;

u.encoded_params().assign({ { "first", "John" }, { "last", "Doe" } });
----

=== Linear in `init.size()`.

=== Strong guarantee.

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



=== Exceptions

|===
| Name | Thrown on

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

|===



=== Parameters

|===
| Name | Description 

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

|===




