[#boost-urls-unreserved_chars]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::unreserved&lowbar;chars
:relfileprefix: ../../
:mrdocs:

The unreserved character set

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/rfc/unreserved_chars.hpp#L44[boost&sol;url&sol;rfc&sol;unreserved&lowbar;chars&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr xref:boost/urls/grammar/lut_chars.adoc[grammar::lut&lowbar;chars] unreserved&lowbar;chars = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;
    &quot;abcdefghijklmnopqrstuvwxyz&quot;
    &quot;0123456789&quot;
    &quot;&hyphen;&period;&lowbar;&#126;&quot;;
----

== Description

== Example
Character sets are used with rules and the functions xref:boost/urls/grammar/find_if.adoc[`grammar&colon;&colon;find&lowbar;if`] and xref:boost/urls/grammar/find_if_not.adoc[`grammar&colon;&colon;find&lowbar;if&lowbar;not`]&period;

[,cpp]
----
system::result< decode_view > rv = grammar::parse( "Program%20Files", pct_encoded_rule( unreserved_chars ) );
----
== BNF
[,cpp]
----
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
----
== Specification
* https://datatracker.ietf.org/doc/html/rfc3986#section-2.3[]

== See Also

xref:boost/urls/grammar/find_if.adoc[`grammar&colon;&colon;find&lowbar;if`], xref:boost/urls/grammar/find_if_not.adoc[`grammar&colon;&colon;find&lowbar;if&lowbar;not`], xref:boost/urls/grammar/parse-09.adoc[`grammar&colon;&colon;parse`], xref:boost/urls/pct_encoded_rule.adoc[`pct&lowbar;encoded&lowbar;rule`]&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
