Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

grammar::squelch

Squelch the value of a rule.

Synopsis

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

template<
    class Rule>
constexpr implementation-defined
squelch(
    Rule const& r);
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.

Value Type
using value_type = void;
Example 1

With squelch:

system::result< std::tuple< decode_view, core::string_view > > rv = [link url.ref.boost__urls__grammar__parse `parse`](
    "www.example.com:443" ,
    [link url.ref.boost__urls__grammar__tuple_rule `tuple_rule`](
        [link url.ref.boost__urls__pct_encoded_rule `pct_encoded_rule`]([link url.ref.boost__urls__unreserved_chars `unreserved_chars`] + '-' + '.' ),
        [link url.ref.boost__urls__grammar__squelch `squelch`]( [link url.ref.boost__urls__grammar__delim_rule `delim_rule`]( ':' ) ),
        [link url.ref.boost__urls__grammar__token_rule `token_rule`]( [link url.ref.boost__urls__grammar__digit_chars `digit_chars`] ) ) );
Example 2

Without squelch:

system::result< std::tuple< decode_view, core::string_view, core::string_view > > rv = [link url.ref.boost__urls__grammar__parse `parse`](
    "www.example.com:443" ,
    [link url.ref.boost__urls__grammar__tuple_rule `tuple_rule`](
        [link url.ref.boost__urls__pct_encoded_rule `pct_encoded_rule`]([link url.ref.boost__urls__unreserved_chars `unreserved_chars`] + '-' + '.' ),
        [link url.ref.boost__urls__grammar__delim_rule `delim_rule`]( ':' ),
        [link url.ref.boost__urls__grammar__token_rule `token_rule`]( [link url.ref.boost__urls__grammar__digit_chars `digit_chars`] ) ) );
Parameters

Name

Description

r

The rule to squelch

See Also

delim_rule, digit_chars, parse, tuple_rule, token_rule, decode_view, pct_encoded_rule, unreserved_chars.

Convenience header <boost/url/grammar.hpp>


PrevUpHomeNext