[#boost-urls-params_encoded_base-find-00] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/params_encoded_base.adoc[params_encoded_base]::find :relfileprefix: ../../../ :mrdocs: Find a matching key == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_encoded_base.hpp#L431[boost/url/params_encoded_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/params_encoded_base/iterator.adoc[iterator] find( xref:boost/urls/params_encoded_base/iterator.adoc[iterator] from, xref:boost/urls/pct_string_view.adoc[pct_string_view] key, xref:boost/urls/ignore_case_param.adoc[ignore_case_param] ic = {}) const noexcept; ---- == Description This function examines the parameters in the container to find a match for the specified key, which may contain percent escapes. The comparison is performed as if all escaped characters were decoded first. 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. === Example [,cpp] ---- url_view u( "?First=John&Last=Doe" ); assert( u.encoded_params().find( "first" ) != u.encoded_params().find( "first", ignore_case ) ); ---- === Complexity Linear in `this‐>buffer().size()`. === Exception Safety Exceptions thrown on invalid input. == Exceptions |=== | Name | Thrown on | `system_error` | `key` contains an invalid percent‐encoding. |=== == Return Value an iterator to the param == Parameters |=== | Name | Description | *from* | The position to begin the search from. This can be `end()`. | *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. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#