:relfileprefix: ../../../
[#boost-urls-params_ref-erase]

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

  


Erase elements



=== Synopsis
  

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_base/iterator.adoc[iterator]
xref:boost/urls/params_ref/erase-05.adoc[pass:[erase]](xref:boost/urls/params_base/iterator.adoc[iterator] pos) noexcept;
----

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_base/iterator.adoc[iterator]
xref:boost/urls/params_ref/erase-0f.adoc[pass:[erase]](
    xref:boost/urls/params_base/iterator.adoc[iterator] first,
    xref:boost/urls/params_base/iterator.adoc[iterator] last) noexcept;
----

[source,cpp,subs="verbatim,macros,-callouts"]
----
std::size_t
xref:boost/urls/params_ref/erase-00.adoc[pass:[erase]](
    core::string_view key,
    xref:boost/urls/ignore_case_param.adoc[ignore_case_param] ic = = {}) noexcept;
----
  
=== Description


This function removes an element from
the container.



All iterators that are equal to
`pos` or come after are invalidated.
[,cpp]
----
url u( "?first=John&last=Doe" );

params_ref::iterator it = u.params().erase( u.params().begin() );

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

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

=== Throws nothing.



=== Return Value


An iterator to one past
the removed element.



=== Parameters

|===
| Name | Description 

| *pos*
| 
An iterator to the element.

| *first,*
| 
last The range of
elements to erase.

| *key*
| 
The key to match.
By default, a case-sensitive
comparison is used.

| *ic*
| 
An optional parameter. If
the value
xref:boost/urls/ignore_case.adoc[ignore_case]
is passed
here, the comparison is
case-insensitive.

|===




