template <typename _Iterator>
class parser_base
{
+ protected:
+ _Iterator m_it;
public:
-
+ parser_base(){}
+ parser_base(const _Iterator& it) : m_it(it) {}
+
+ void setup(const _Iterator& it){ m_it = it; }
};
//////////////////////////////////////////////////////////
{
//////////////////////////////////////////////////////////
- class string_parser_base : public parser_base<charbuf_iterator>
+ class string_parser_base : public parser_base<ccharbuf_iterator>
{
+ private:
+ typedef parser_base<ccharbuf_iterator> _Base;
public:
-
+ string_parser_base(){}
+ string_parser_base(const char* s) : _Base( ccharbuf_iterator(s) ) {}
};
//////////////////////////////////////////////////////////
// WhiteSpace(Space,Tab,\r,\n) Sprit
class ws_sprit_parser_base : public string_parser_base
{
+ private:
+ typedef string_parser_base _Base;
public:
-
+ ws_sprit_parser_base(){}
+ ws_sprit_parser_base(const char* s) : _Base(s) {}
};
//////////////////////////////////////////////////////////