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

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

  


Assignment



=== Synopsis
  

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_encoded_ref.adoc[params_encoded_ref]&
xref:boost/urls/params_encoded_ref/operator_assign-02.adoc[pass:[operator=]](xref:boost/urls/params_encoded_ref.adoc[params_encoded_ref] const& other);
----

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_encoded_ref.adoc[params_encoded_ref]&
xref:boost/urls/params_encoded_ref/operator_assign-03.adoc[pass:[operator=]](std::initializer_list<xref:boost/urls/param_pct_view.adoc[param_pct_view]> init);
----
  
=== Description


The previous contents of this are
replaced by the contents of `other.



All iterators are invalidated.
[NOTE]

The strings referenced by `other`
must not come from the underlying url,
or else the behavior is undefined.
[,cpp]
----
this->assign( other.begin(), other.end() );
----

=== Linear in `other.buffer().size()`.

=== Strong guarantee.

Calls to allocate may throw.


=== Exceptions

|===
| Name | Thrown on

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

|===


=== Parameters

|===
| Name | Description 

| *other*
| 
The params to assign.

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

|===




