[#boost-urls-params_base-find-043]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/params_base.adoc[params&lowbar;base]::find
:relfileprefix: ../../../
:mrdocs:


Find a matching key

== Synopsis


Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_base.hpp#L389[boost&sol;url&sol;params&lowbar;base&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:boost/urls/params_base/iterator.adoc[iterator]
find(
    xref:boost/urls/params_base/iterator.adoc[iterator] from,
    core::string&lowbar;view key,
    xref:boost/urls/ignore_case_param.adoc[ignore&lowbar;case&lowbar;param] ic = &lcub;&rcub;) const noexcept;
----

== Description


This function examines the        parameters in the container to        find a match for the specified key&period;        The comparison is performed as if all        escaped characters were decoded first&period;

The search starts at `from`        and proceeds forward until either the        key is found or the end of the range is        reached, in which case `end()` is        returned&period;


=== Example

[,cpp]
----
url_view u( "?First=John&Last=Doe" );

assert( u.params().find( "first" ) != u.params().find( "first", ignore_case ) );
----

=== Complexity

Linear in `this&hyphen;&gt;buffer()&period;size()`&period;



== Return Value


an iterator to the param



== Parameters


|===
| Name | Description

| *from*
| The position to begin the            search from&period; This can be `end()`&period;


| *key*
| The key to match&period;        By default, a case&hyphen;sensitive        comparison is used&period;


| *ic*
| An optional parameter&period; If        the value xref:boost/urls/ignore_case.adoc[ignore&lowbar;case] is passed        here, the comparison is        case&hyphen;insensitive&period;


|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
