// Syntax:
// scheme ":" hier-part [ "?" query ] [ "#" fragment ]
+ template <typename _Scheme, typename _Body>
+ class uri_rule : public ::roast::lexical::seq<
+ _Scheme, ::roast::lexical::chars::colon, _Body> {};
+
+ /////
+
template <typename _Scheme = lexical::string, typename _Body = lexical::string>
- class uri_ : public ::roast::lexical::seq<
- _Scheme, ::roast::lexical::chars::colon, _Body>
+ class uri_ : public uri_rule<_Scheme, _Body>
{
private:
- typedef ::roast::lexical::seq<
- _Scheme, ::roast::lexical::chars::colon, _Body> _Base;
+ typedef uri_rule<_Scheme, _Body> _Base;
//template <int N> void ref(); // for gcc compilable workaround...