[#boost-urls-params_encoded_base-find_last-0d] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/params_encoded_base.adoc[params_encoded_base]::find_last :relfileprefix: ../../../ :mrdocs: Find a matching key == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_encoded_base.hpp#L526[boost/url/params_encoded_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/params_encoded_base/iterator.adoc[iterator] find_last( xref:boost/urls/params_encoded_base/iterator.adoc[iterator] before, 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 prior to `before` and proceeds backwards until either the key is found or the beginning 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_last( "last" ) != u.encoded_params().find_last( "last", ignore_case ) ); ---- === Complexity Linear in `this‐>buffer().size()`. == Return Value an iterator to the param == Parameters |=== | Name | Description | *before* | One past 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]#