[#boost-urls-grammar-not_empty_rule] = xref:boost/urls/grammar/not_empty_rule.adoc[boost::urls::grammar::not_empty_rule] :relfileprefix: ../../../ :mrdocs: Match another rule, if the result is not empty == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/not_empty_rule.hpp#L72[boost/url/grammar/not_empty_rule.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:boost/urls/grammar/Rule.adoc[Rule] R> constexpr /* implementation-defined */ not_empty_rule(R const& r); ---- == Description This adapts another rule such that when an empty string is successfully parsed, the result is an error. == Value Type [,cpp] ---- using value_type = typename Rule::value_type; ---- == Example Rules are used with the function xref:boost/urls/grammar/parse-09.adoc[`parse`]. [,cpp] ---- system::result< decode_view > rv = parse( "Program%20Files", not_empty_rule( pct_encoded_rule( unreserved_chars ) ) ); ---- == Return Value The adapted rule == Parameters [cols=2] |=== | Name | Description | *r* | The rule to match |=== == See Also xref:boost/urls/grammar/parse-09.adoc[`parse`], xref:boost/urls/pct_encoded_rule.adoc[`pct_encoded_rule`], xref:boost/urls/unreserved_chars.adoc[`unreserved_chars`]. [.small]#Created with https://www.mrdocs.com[MrDocs]#