OSDN Git Service

seq.hpp: _seq_parse() を使うようにしてみた
authormyun2 <myun2@nwhite.info>
Tue, 12 Jun 2012 13:16:41 +0000 (22:16 +0900)
committermyun2 <myun2@nwhite.info>
Tue, 12 Jun 2012 13:16:41 +0000 (22:16 +0900)
roast/include/roast/lexical2/seq.hpp

index f20702a..5784385 100644 (file)
@@ -263,7 +263,7 @@ namespace roast
                        template <typename InputIterator, typename _Param>
                        bool parse(InputIterator& it, _Param& param)
                        {
-                               T0 t0;
+                               /*T0 t0;
                                InputIterator it_work = it;
                                if ( t0.parse(it_work, param) == false )
                                        return false;
@@ -274,7 +274,8 @@ namespace roast
                                        return false;
                                
                                it = it_work;
-                               return true;
+                               return true;*/
+                               return _seq_parse(*this, it, param, typename _Base::_Next());
                        }
 
                        ////////
@@ -299,14 +300,15 @@ namespace roast
                        template <typename InputIterator, typename _Param>
                        bool parse(InputIterator& it, _Param& param)
                        {
-                               T1 t1;
+                               /*T1 t1;
                                InputIterator it_work = it;
                                if ( t1.parse(it_work, param) == false )
                                        return false;
                                
                                it = it_work;
 
-                               return true;
+                               return true;*/
+                               return _seq_parse(*this, it, param, EmptyType());
                        }
                        
                        template <typename OutputStream, typename _Param>