:relfileprefix: ../../../ [#boost-urls-params_encoded_base-find-00] = xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/params_encoded_base.adoc[pass:[params_encoded_base]]::find Find a matching key == Synopsis Declared in header `` [source,cpp,subs="verbatim,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. |===