2 ['Definitions before section 5.1.]
4 #include <boost/metaparse/string.hpp>
5 #include <boost/metaparse/int_.hpp>
7 #include <boost/metaparse/build_parser.hpp>
9 using namespace boost::metaparse;
11 using exp_parser1 = build_parser<int_>;
12 #include <boost/metaparse/entire_input.hpp>
14 using exp_parser2 = build_parser<entire_input<int_>>;
15 #include <boost/metaparse/token.hpp>
17 using exp_parser3 = build_parser<entire_input<token<int_>>>;
18 #include <boost/metaparse/lit_c.hpp>
20 #include <boost/metaparse/sequence.hpp>
22 using exp_parser4 = build_parser<sequence<token<int_>, token<lit_c<'+'>>, token<int_>>>;
24 #include <metashell/formatter.hpp>
26 using int_token = token<int_>;
28 using plus_token = token<lit_c<'+'>>;
30 using exp_parser5 = build_parser<sequence<int_token, plus_token, int_token>>;
31 #include <boost/metaparse/transform.hpp>
33 #include <boost/mpl/plus.hpp>
35 #include <boost/mpl/at.hpp>
37 template <class Vector>
40 typename boost::mpl::at_c<Vector, 0>::type,
41 typename boost::mpl::at_c<Vector, 2>::type
44 #include <boost/mpl/quote.hpp>
49 sequence<int_token, plus_token, int_token>,
50 boost::mpl::quote1<eval_plus>