[#boost-urls-grammar]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::grammar
:relfileprefix: ../../
:mrdocs:

== Namespace Aliases

[cols=1]
|===
| Name
| xref:boost/urls/grammar/string_token.adoc[`string&lowbar;token`] 
|===

== Types

[cols=2]
|===
| Name
| Description
| xref:boost/urls/grammar/literal_rule.adoc[`literal&lowbar;rule`] 
| Match a string literal exactly
| xref:boost/urls/grammar/lut_chars.adoc[`lut&lowbar;chars`] 
| A set of characters
| xref:boost/urls/grammar/range.adoc[`range`] 
| A forward range of parsed elements
| xref:boost/urls/grammar/recycled.adoc[`recycled`] 
| A thread&hyphen;safe collection of instances of T
| xref:boost/urls/grammar/recycled_ptr.adoc[`recycled&lowbar;ptr`] 
| A pointer to a shared instance of T
| xref:boost/urls/grammar/string_view_base.adoc[`string&lowbar;view&lowbar;base`] 
| Common functionality for string views
| xref:boost/urls/grammar/unsigned_rule.adoc[`unsigned&lowbar;rule`] 
| Match an unsigned decimal
| xref:boost/urls/grammar/aligned_storage.adoc[`aligned&lowbar;storage`] 
| Provides an aligned storage buffer aligned for T
| xref:boost/urls/grammar/ci_equal.adoc[`ci&lowbar;equal`] 
| A case&hyphen;insensitive equals predicate for strings
| xref:boost/urls/grammar/ci_hash.adoc[`ci&lowbar;hash`] 
| A case&hyphen;insensitive hash function object for strings
| xref:boost/urls/grammar/ci_less.adoc[`ci&lowbar;less`] 
| A case&hyphen;insensitive less predicate for strings
| xref:boost/urls/grammar/is_charset.adoc[`is&lowbar;charset`] 
| Alias for `std&colon;&colon;true&lowbar;type` if T satisfies xref:boost/urls/grammar/CharSet.adoc[`CharSet`]&period;
| xref:boost/urls/grammar/is_rule.adoc[`is&lowbar;rule`] 
| Determine if T meets the requirements of xref:boost/urls/grammar/Rule.adoc[`Rule`]
|===

== Enums

[cols=2]
|===
| Name
| Description
| xref:boost/urls/grammar/condition.adoc[`condition`] 
| Error conditions for errors received from rules
| xref:boost/urls/grammar/error.adoc[`error`] 
| Error codes returned when using rules
|===

== Functions

[cols=2]
|===
| Name
| Description
| xref:boost/urls/grammar/ci_compare.adoc[`ci&lowbar;compare`] 
| Return the case&hyphen;insensitive comparison of s0 and s1
| xref:boost/urls/grammar/ci_digest.adoc[`ci&lowbar;digest`] 
| Return the case&hyphen;insensitive digest of a string
| xref:boost/urls/grammar/ci_is_equal-0b2.adoc[`ci&lowbar;is&lowbar;equal`] 
| Return true if s0 equals s1 using case&hyphen;insensitive comparison
| xref:boost/urls/grammar/ci_is_less.adoc[`ci&lowbar;is&lowbar;less`] 
| Return true if s0 is less than s1 using case&hyphen;insensitive comparison
| xref:boost/urls/grammar/delim_rule-0a.adoc[`delim&lowbar;rule`] 
| `delim&lowbar;rule` overloads
| xref:boost/urls/grammar/find_if.adoc[`find&lowbar;if`] 
| Find the first character in the string that is in the set&period;
| xref:boost/urls/grammar/find_if_not.adoc[`find&lowbar;if&lowbar;not`] 
| Find the first character in the string that is not in CharSet
| xref:boost/urls/grammar/hexdig_value.adoc[`hexdig&lowbar;value`] 
| Return the decimal value of a hex character
| xref:boost/urls/grammar/not_empty_rule.adoc[`not&lowbar;empty&lowbar;rule`] 
| Match another rule, if the result is not empty
| xref:boost/urls/grammar/operator_plus.adoc[`operator&plus;`] 
| Return the union of two character sets&period;
| xref:boost/urls/grammar/operator_minus.adoc[`operator&hyphen;`] 
| Return a new character set by subtracting
| xref:boost/urls/grammar/optional_rule.adoc[`optional&lowbar;rule`] 
| Match a rule, or the empty string
| xref:boost/urls/grammar/parse-09.adoc[`parse`] 
| Parse a character buffer using a rule
| xref:boost/urls/grammar/range_rule-02.adoc[`range&lowbar;rule`] 
| Match a repeating number of elements
| xref:boost/urls/grammar/ref-01.adoc[`ref`] 
| `ref` overloads
| xref:boost/urls/grammar/squelch.adoc[`squelch`] 
| Squelch the value of a rule
| xref:boost/urls/grammar/to_lower.adoc[`to&lowbar;lower`] 
| Return c converted to lowercase
| xref:boost/urls/grammar/to_upper.adoc[`to&lowbar;upper`] 
| Return c converted to uppercase
| xref:boost/urls/grammar/token_rule.adoc[`token&lowbar;rule`] 
| Match a non&hyphen;empty string of characters from a set
| xref:boost/urls/grammar/tuple_rule.adoc[`tuple&lowbar;rule`] 
| Match a series of rules in order
| xref:boost/urls/grammar/variant_rule.adoc[`variant&lowbar;rule`] 
| Match one of a set of rules
| xref:boost/urls/grammar/operator_lshift.adoc[`operator&lt;&lt;`] 
| Format a string to an output stream
| xref:boost/urls/grammar/operator_eq.adoc[`operator&equals;&equals;`] 
| Compare two string views for equality
| xref:boost/urls/grammar/operator_not_eq.adoc[`operator!&equals;`] 
| Compare two string views for inequality
| xref:boost/urls/grammar/operator_lt.adoc[`operator&lt;`] 
| Compare two string views for less than
| xref:boost/urls/grammar/operator_le.adoc[`operator&lt;&equals;`] 
| Compare two string views for less than or equal
| xref:boost/urls/grammar/operator_gt.adoc[`operator&gt;`] 
| Compare two string views for greater than
| xref:boost/urls/grammar/operator_ge.adoc[`operator&gt;&equals;`] 
| Compare two string views for greater than or equal
|===

== Variables

[cols=2]
|===
| Name
| Description
| xref:boost/urls/grammar/all_chars.adoc[`all&lowbar;chars`] 
| The set of all characters
| xref:boost/urls/grammar/alnum_chars.adoc[`alnum&lowbar;chars`] 
| The set of letters and digits
| xref:boost/urls/grammar/alpha_chars.adoc[`alpha&lowbar;chars`] 
| The set of all letters
| xref:boost/urls/grammar/dec_octet_rule.adoc[`dec&lowbar;octet&lowbar;rule`] 
| Match a decimal octet
| xref:boost/urls/grammar/digit_chars.adoc[`digit&lowbar;chars`] 
| The set of decimal digits
| xref:boost/urls/grammar/hexdig_chars.adoc[`hexdig&lowbar;chars`] 
| The set of hexadecimal digits
| xref:boost/urls/grammar/vchars.adoc[`vchars`] 
| The set of visible characters
|===

== Concepts

[cols=2]
|===
| Name
| Description
| xref:boost/urls/grammar/CharSet.adoc[`CharSet`] 
| Concept for a CharSet
| xref:boost/urls/grammar/Rule.adoc[`Rule`] 
| Concept for a grammar Rule
|===


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