From: myun2 Date: Tue, 12 Jun 2012 12:01:03 +0000 (+0900) Subject: seq.hpp: とりあえず _seq_parse X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=59182ddd13d5d9b47d3a70d37ad7161f09ec4f19;p=roast%2Froast.git seq.hpp: とりあえず _seq_parse --- diff --git a/roast/include/roast/lexical2/seq.hpp b/roast/include/roast/lexical2/seq.hpp index 7466bbac..f20702a0 100644 --- a/roast/include/roast/lexical2/seq.hpp +++ b/roast/include/roast/lexical2/seq.hpp @@ -344,6 +344,34 @@ namespace roast return true*/; } + + ////////////////////////////////////////////////////////////////////// + + template void get(); // for gcc 4.4.5 compilable + + // parse + template + bool _seq_parse(_Seq& _this, InputIterator& it, _Param& param, const EmptyType& ) + { + //if ( generate(strm, doc.get<0>()) == false ) + if ( _this.get<0>().parse(it, param) == false ) + return false; + + return true; + } + + // parse + template + bool _seq_parse(_Seq& _this, InputIterator& it, _Param& param, const _NextType& ) + { + if ( _this.get<0>().parse(it, param) == false ) + return false; + + if ( _seq_parse(_this.next, it, param, typename _NextType::_Next()) == false ) + return false; + + return true; + } //////////////////////////////////////////////////////////////