| Home | Libraries | People | FAQ | More

###### params_encoded_view::find (2 of 2 overloads)

(Inherited from `params_encoded_base`)

Find a matching key.

###### Synopsis

    iterator
    find(
        iterator from,
        pct_string_view key,
        ignore_case_param ic = {}) const;

###### 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

    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

Type | 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 `ignore_case` is passed here, the comparison is case-insensitive.