OSDN Git Service

parser_base.hpp, string_parser_base.hpp: コンストラクタに対応
authorMyun2 <myun2@nwhite.info>
Mon, 19 Jul 2010 16:31:47 +0000 (01:31 +0900)
committerMyun2 <myun2@nwhite.info>
Mon, 19 Jul 2010 16:31:47 +0000 (01:31 +0900)
roast/include/roast/lexical/parser_base.hpp
roast/include/roast/lexical/string_parser_base.hpp

index 73aff4e..555ebc7 100644 (file)
@@ -13,8 +13,13 @@ namespace roast
                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; }
                };
                
                //////////////////////////////////////////////////////////
index e214103..29c8ec0 100644 (file)
@@ -12,10 +12,13 @@ namespace roast
        {
                //////////////////////////////////////////////////////////
                
-               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) ) {}
                };
                
                //////////////////////////////////////////////////////////
@@ -23,8 +26,11 @@ namespace roast
                //      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) {}
                };
                
                //////////////////////////////////////////////////////////