:relfileprefix: ../../
[#boost-urls-unreserved_chars]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::unreserved_chars


The unreserved character set


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/rfc/unreserved_chars.hpp#L44[boost/url/rfc/unreserved_chars.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
constexpr
xref:boost/urls/grammar.adoc[grammar]::xref:boost/urls/grammar/lut_chars.adoc[lut_chars] const unreserved_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    "abcdefghijklmnopqrstuvwxyz"
    "0123456789"
    "-._~";
----

== Description


=== Example

Character sets are used with rules and
the functions
xref:boost/urls/grammar/find_if.adoc[grammar::find_if]
and
xref:boost/urls/grammar/find_if_not.adoc[grammar::find_if_not]
.
[,cpp]
----
system::result< decode_view > rv = grammar::parse( "Program%20Files", pct_encoded_rule( unreserved_chars ) );
----

=== BNF
[,cpp]
----
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
----

=== Specification

* link:https://datatracker.ietf.org/doc/html/rfc3986#section-2.3[2.3. Unreserved Characters (rfc3986)]



== See Also


xref:boost/urls/grammar/find_if.adoc[grammar::find_if]
,
xref:boost/urls/grammar/find_if_not.adoc[grammar::find_if_not]
,
xref:boost/urls/grammar/parse-02.adoc[grammar::parse]
,
xref:boost/urls/pct_encoded_rule-08.adoc[pct_encoded_rule]
.



