boost::urls::grammar::squelch

Squelch the value of a rule

Synopsis

Declared in header <boost/url/grammar/tuple_rule.hpp>

template<class Rule>
constexpr
implementation-defined
squelch(Rule const& r) noexcept;

Description

This function returns a new rule which matches the specified rule, and converts its value type to void. This is useful for matching delimiters in a grammar, where the value for the delimiter is not needed.

using value_type = void;

With squelch:

system::result< std::tuple< decode_view, core::string_view > > rv = parse(
    "www.example.com:443",
    tuple_rule(
        pct_encoded_rule(unreserved_chars + '-' + '.'),
        squelch( delim_rule( ':' ) ),
        token_rule( digit_chars ) ) );

Without squelch:

system::result< std::tuple< decode_view, core::string_view, core::string_view > > rv = parse(
    "www.example.com:443",
    tuple_rule(
        pct_encoded_rule(unreserved_chars + '-' + '.'),
        delim_rule( ':' ),
        token_rule( digit_chars ) ) );

Parameters

Name Description

r

The rule to squelch