:relfileprefix: ../../ [#boost-urls-pct_encoded_rule] == xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::pct_encoded_rule Rule for a string with percent-encoded escapes === Synopsis Declared in header `` [source,cpp,subs="verbatim,macros,-callouts"] ---- template constexpr pass:q[_implementation-defined_] pct_encoded_rule(CharSet const& cs) noexcept; ---- === Description This function returns a rule which matches a percent-encoded string, permitting characters in the string which are also in the specified character set to be used unescaped. [,cpp] ---- using value_type = pct_string_view; ---- === Rules are used with the function xref:boost/urls/grammar/parse-02.adoc[grammar::parse] . [,cpp] ---- // pchar = unreserved / pct-encoded / sub-delims / ":" / "@" system::result< pct_string_view > rv = grammar::parse( "Program%20Files", pct_encoded_rule( pchars ) ); ---- [,cpp] ---- pct-encoded = "%" HEXDIG HEXDIG ---- * link:https://datatracker.ietf.org/doc/html/rfc3986#section-2.1[ 2.1. Percent-Encoding (rfc3986)] === Parameters |=== | Name | Description | *cs* | The character set indicating which characters are allowed without escapes. Any character which is not in this set must be escaped, or else parsing returns an error. |=== === See Also xref:boost/urls/grammar/parse-02.adoc[grammar::parse] , xref:boost/urls/pchars.adoc[pchars] , xref:boost/urls/pct_string_view.adoc[pct_string_view] .