1 | $ g++ -std=c++11 boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp -Iboost_1_57_0
|
---|
2 |
|
---|
3 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
---|
4 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
---|
5 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<0>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>, false>’:
|
---|
6 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 0; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>]’
|
---|
7 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
---|
8 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
9 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<0>, const boost::spirit::repository::qi::subrule_definition<0, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
---|
10 | defs_type;
|
---|
11 | ^
|
---|
12 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<0>, const boost::spirit::repository::qi::subrule_definition<0, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
---|
13 | typedef subrule_group<defs_type> type;
|
---|
14 | ^
|
---|
15 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
---|
16 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
17 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<0>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’)
|
---|
18 | expression =
|
---|
19 | ^
|
---|
20 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: note: candidates are:
|
---|
21 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
---|
22 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
---|
23 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 0; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
---|
24 | operator=(Expr const& expr) const
|
---|
25 | ^
|
---|
26 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
---|
27 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<0>& boost::spirit::repository::qi::subrule<0>::operator=(const boost::spirit::repository::qi::subrule<0>&)
|
---|
28 | struct subrule
|
---|
29 | ^
|
---|
30 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<0>&’
|
---|
31 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<0>& boost::spirit::repository::qi::subrule<0>::operator=(boost::spirit::repository::qi::subrule<0>&&)
|
---|
32 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<0>&&’
|
---|
33 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<1>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>, false>’:
|
---|
34 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 1; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>]’
|
---|
35 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
---|
36 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
37 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<1>, const boost::spirit::repository::qi::subrule_definition<1, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
---|
38 | defs_type;
|
---|
39 | ^
|
---|
40 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<1>, const boost::spirit::repository::qi::subrule_definition<1, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
---|
41 | typedef subrule_group<defs_type> type;
|
---|
42 | ^
|
---|
43 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
---|
44 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
45 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<1>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’)
|
---|
46 | , term =
|
---|
47 | ^
|
---|
48 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: note: candidates are:
|
---|
49 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
---|
50 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
---|
51 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 1; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
---|
52 | operator=(Expr const& expr) const
|
---|
53 | ^
|
---|
54 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
---|
55 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<1>& boost::spirit::repository::qi::subrule<1>::operator=(const boost::spirit::repository::qi::subrule<1>&)
|
---|
56 | struct subrule
|
---|
57 | ^
|
---|
58 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<1>&’
|
---|
59 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<1>& boost::spirit::repository::qi::subrule<1>::operator=(boost::spirit::repository::qi::subrule<1>&&)
|
---|
60 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<1>&&’
|
---|
61 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<2>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>, false>’:
|
---|
62 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 2; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>]’
|
---|
63 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
---|
64 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
65 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<2>, const boost::spirit::repository::qi::subrule_definition<2, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<0, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > > >, false> >’
|
---|
66 | defs_type;
|
---|
67 | ^
|
---|
68 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<2>, const boost::spirit::repository::qi::subrule_definition<2, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<0, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > > >, false> >’
|
---|
69 | typedef subrule_group<defs_type> type;
|
---|
70 | ^
|
---|
71 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
---|
72 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
---|
73 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<2>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’)
|
---|
74 | , factor =
|
---|
75 | ^
|
---|
76 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: note: candidates are:
|
---|
77 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
---|
78 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
---|
79 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 2; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
---|
80 | operator=(Expr const& expr) const
|
---|
81 | ^
|
---|
82 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
---|
83 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<2>& boost::spirit::repository::qi::subrule<2>::operator=(const boost::spirit::repository::qi::subrule<2>&)
|
---|
84 | struct subrule
|
---|
85 | ^
|
---|
86 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<2>&’
|
---|
87 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<2>& boost::spirit::repository::qi::subrule<2>::operator=(boost::spirit::repository::qi::subrule<2>&&)
|
---|
88 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<2>&&’
|
---|
89 |
|
---|