#include <boost/spirit/include/phoenix1_tuples.hpp>
#include <boost/spirit/include/phoenix1_binders.hpp>
#include "fwd.hpp"
+#include "iterator.hpp"
namespace quickbook {
namespace cl = boost::spirit::classic;
if (!scope.start(arguments_))
return scan.no_match();
- typename cl::parser_result<ParserT, ScannerT>::type result
+ typename cl::parser_result<ParserT, ScannerT>::type r
= this->subject().parse(scan);
- bool success = scope.impl_.result(result, scan);
+ bool success = scope.impl_.result(r, scan);
if (success) {
scope.success(save, scan.first);
- if (result) {
- return scan.create_match(result.length(), cl::nil_t(), save, scan.first);
+ if (r) {
+ return scan.create_match(r.length(), cl::nil_t(), save, scan.first);
}
else {
return scan.create_match(scan.first.base() - save.base(), cl::nil_t(), save, scan.first);
typedef phoenix::tuple<Arg1, Arg2> tuple;
return scoped_parser_gen<Impl, tuple>(impl_, tuple(x1, x2));
}
-
+
Impl impl_;
+
+ private:
+ scoped_parser& operator=(scoped_parser const&);
};
-
+
///////////////////////////////////////////////////////////////////////////
//
// Lookback parser