:relfileprefix: ../../../
[#boost-urls-grammar-is_rule]

== xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/grammar.adoc[pass:[grammar]]::is_rule


Determine if T meets the requirements of Rule


=== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/type_traits.hpp#L63[boost/url/grammar/type_traits.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
template<class T>
using is_rule = pass:q[_see-below_];
----

=== Description


This is an alias for `std::true_type` if
`T` meets the requirements, otherwise it
is an alias for `std::false_type`.
[,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-02.adoc[parse]
.



