[#boost-urls-grammar-is_rule]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/grammar.adoc[grammar]::is&lowbar;rule
:relfileprefix: ../../../
:mrdocs:

Determine if T meets the requirements of xref:boost/urls/grammar/Rule.adoc[`Rule`]

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/type_traits.hpp#L62[boost&sol;url&sol;grammar&sol;type&lowbar;traits&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class T&gt;
using is&lowbar;rule = &sol;&ast; implementation-defined &ast;&sol;;
----

== Description

This is an alias for `std&colon;&colon;true&lowbar;type` if `T` meets the requirements, otherwise it is an alias for `std&colon;&colon;false&lowbar;type`&period;

== Example
[,cpp]
----
struct U
{
    struct value_type;

    auto
    parse(
        char const*& it,
        char const* end) const ->
            system::result<value_type>
};

static_assert( is_rule<U>::value, "Requirements not met" );
----
== See Also

xref:boost/urls/grammar/parse-09.adoc[`parse`]&period;


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