示例#1
0
 bool parse_sequence(
     Left const& left, Right const& right
   , Iterator& first, Iterator const& last
   , Context const& context, Attribute& attr, traits::container_attribute)
 {
     Iterator save = first;
     if (parse_into_container(left, first, last, context, attr)
         && parse_into_container(right, first, last, context, attr))
         return true;
     first = save;
     return false;
 }
示例#2
0
        static bool call(
            expect_directive<Subject> const& parser
          , Iterator& first, Iterator const& last
          , Context const& context, RContext& rcontext, Attribute& attr)
        {
            bool r = parse_into_container(
                parser.subject, first, last, context, rcontext, attr);

            if (!r)
            {
                boost::throw_exception(
                    expectation_failure<Iterator>(
                        first, what(parser.subject)));
            }
            return r;
        }