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

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

  


Append params



=== Synopsis
  

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_encoded_base/iterator.adoc[iterator]
xref:boost/urls/params_encoded_ref/append-07.adoc[pass:[append]](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/append-0e.adoc[pass:[append]](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/append-08.adoc[pass:[append]](
    FwdIt first,
    FwdIt last);
----
  
=== Description


This function appends a param to the view.



The `end()` iterator is invalidated.
[,cpp]
----
url u;

u.encoded_params().append( { "first", "John" } );
----

=== 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 new element.



=== Parameters

|===
| Name | Description 

| *p*
| 
The param to append.

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

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

|===




