boost::urls::grammar::optional_rule :: Boost Libraries Documentation

# boost::urls::grammar::optional_rule

Match a rule, or the empty string

## Synopsis

Declared in `<boost/url/grammar/optional_rule.hpp>`

    template<Rule R>
    constexpr
    /* implementation-defined */
    optional_rule(R const& r);

## Description

Optional BNF elements are denoted with square brackets. If the specified rule returns any error it is treated as if the rule did not match.

## Value Type

    using value_type = optional< typename Rule::value_type >;

## Example

Rules are used with the function `grammar::parse`.

    system::result< optional< core::string_view > > rv = parse( "", optional_rule( token_rule( alpha_chars ) ) );

## BNF

    optional     = [ rule ]

## Specification

- https://datatracker.ietf.org/doc/html/rfc5234#section-3.8

## Return Value

The adapted rule

## Parameters

Name | Description
r | The rule to match

## See Also

`alpha_chars`, `parse`, `optional`, `token_rule`.

Created with MrDocs