Ticket #13093: report.log

File report.log, 129.9 KB (added by anonymous, 5 years ago)
Line 
1In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
2 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
3 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
4 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
5 from rule.cpp:2:
6./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::pre(Exposed&) [with Exposed = boost::any; Transformed = std::map<std::basic_string<char>, boost::any>; Enable = void]’:
7./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::map<std::basic_string<char>, boost::any>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
8./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
9./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
10./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::operator()(const Component&) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any]’
11./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:37:19: required from ‘bool boost::fusion::detail::linear_any(const First&, const Last&, F&, mpl_::false_) [with First = boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >; Last = boost::fusion::cons_iterator<const boost::fusion::nil>; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >, boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, boost::any>; mpl_::false_ = mpl_::bool_<false>]’
12./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:55:63: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
13./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
14./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
15./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
16./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
17rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
18rule.cpp:54:47: required from here
19./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::map<std::basic_string<char>, boost::any>::map(boost::any&)’
20 static Transformed pre(Exposed& val) { return Transformed(val); }
21 ^
22./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are:
23In file included from /usr/include/c++/4.8.2/map:61:0,
24 from rule.cpp:7:
25/usr/include/c++/4.8.2/bits/stl_map.h:241:9: note: template<class _InputIterator> std::map<_Key, _Tp, _Compare, _Alloc>::map(_InputIterator, _InputIterator, const _Compare&, const allocator_type&)
26 map(_InputIterator __first, _InputIterator __last,
27 ^
28/usr/include/c++/4.8.2/bits/stl_map.h:241:9: note: template argument deduction/substitution failed:
29In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
30 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
31 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
32 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
33 from rule.cpp:2:
34./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 4 arguments, 1 provided
35 static Transformed pre(Exposed& val) { return Transformed(val); }
36 ^
37In file included from /usr/include/c++/4.8.2/map:61:0,
38 from rule.cpp:7:
39/usr/include/c++/4.8.2/bits/stl_map.h:224:9: note: template<class _InputIterator> std::map<_Key, _Tp, _Compare, _Alloc>::map(_InputIterator, _InputIterator)
40 map(_InputIterator __first, _InputIterator __last)
41 ^
42/usr/include/c++/4.8.2/bits/stl_map.h:224:9: note: template argument deduction/substitution failed:
43In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
44 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
45 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
46 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
47 from rule.cpp:2:
48./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 2 arguments, 1 provided
49 static Transformed pre(Exposed& val) { return Transformed(val); }
50 ^
51In file included from /usr/include/c++/4.8.2/map:61:0,
52 from rule.cpp:7:
53/usr/include/c++/4.8.2/bits/stl_map.h:180:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::map(const std::map<_Key, _Tp, _Compare, _Alloc>&) [with _Key = std::basic_string<char>; _Tp = boost::any; _Compare = std::less<std::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::basic_string<char>, boost::any> >]
54 map(const map& __x)
55 ^
56/usr/include/c++/4.8.2/bits/stl_map.h:180:7: note: no known conversion for argument 1 from ‘boost::any’ to ‘const std::map<std::basic_string<char>, boost::any>&’
57/usr/include/c++/4.8.2/bits/stl_map.h:169:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::map(const _Compare&, const allocator_type&) [with _Key = std::basic_string<char>; _Tp = boost::any; _Compare = std::less<std::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::basic_string<char>, boost::any> >; std::map<_Key, _Tp, _Compare, _Alloc>::allocator_type = std::allocator<std::pair<const std::basic_string<char>, boost::any> >]
58 map(const _Compare& __comp,
59 ^
60/usr/include/c++/4.8.2/bits/stl_map.h:169:7: note: no known conversion for argument 1 from ‘boost::any’ to ‘const std::less<std::basic_string<char> >&’
61/usr/include/c++/4.8.2/bits/stl_map.h:160:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::map() [with _Key = std::basic_string<char>; _Tp = boost::any; _Compare = std::less<std::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::basic_string<char>, boost::any> >]
62 map()
63 ^
64/usr/include/c++/4.8.2/bits/stl_map.h:160:7: note: candidate expects 0 arguments, 1 provided
65In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
66 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
67 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
68 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
69 from rule.cpp:2:
70./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::pre(Exposed&) [with Exposed = boost::any; Transformed = std::vector<boost::any>; Enable = void]’:
71./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::vector<boost::any>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
72./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
73./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
74./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::operator()(const Component&) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any]’
75./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:37:19: required from ‘bool boost::fusion::detail::linear_any(const First&, const Last&, F&, mpl_::false_) [with First = boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > >; Last = boost::fusion::cons_iterator<const boost::fusion::nil>; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >, boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, boost::any>; mpl_::false_ = mpl_::bool_<false>]’
76./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:42:83: [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
77./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
78./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
79./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
80./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
81rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
82rule.cpp:54:47: required from here
83./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::vector<boost::any>::vector(boost::any&)’
84 static Transformed pre(Exposed& val) { return Transformed(val); }
85 ^
86./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are:
87In file included from /usr/include/c++/4.8.2/vector:64:0,
88 from ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:35,
89 from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16,
90 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
91 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
92 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
93 from rule.cpp:2:
94/usr/include/c++/4.8.2/bits/stl_vector.h:398:9: note: template<class _InputIterator> std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&)
95 vector(_InputIterator __first, _InputIterator __last,
96 ^
97/usr/include/c++/4.8.2/bits/stl_vector.h:398:9: note: template argument deduction/substitution failed:
98In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
99 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
100 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
101 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
102 from rule.cpp:2:
103./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 3 arguments, 1 provided
104 static Transformed pre(Exposed& val) { return Transformed(val); }
105 ^
106In file included from /usr/include/c++/4.8.2/vector:64:0,
107 from ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:35,
108 from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16,
109 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
110 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
111 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
112 from rule.cpp:2:
113/usr/include/c++/4.8.2/bits/stl_vector.h:310:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::any; _Alloc = std::allocator<boost::any>]
114 vector(const vector& __x)
115 ^
116/usr/include/c++/4.8.2/bits/stl_vector.h:310:7: note: no known conversion for argument 1 from ‘boost::any’ to ‘const std::vector<boost::any>&’
117/usr/include/c++/4.8.2/bits/stl_vector.h:295:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = boost::any; _Alloc = std::allocator<boost::any>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = boost::any; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<boost::any>]
118 vector(size_type __n, const value_type& __value = value_type(),
119 ^
120/usr/include/c++/4.8.2/bits/stl_vector.h:295:7: note: no known conversion for argument 1 from ‘boost::any’ to ‘std::vector<boost::any>::size_type {aka long unsigned int}’
121/usr/include/c++/4.8.2/bits/stl_vector.h:256:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = boost::any; _Alloc = std::allocator<boost::any>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<boost::any>]
122 vector(const allocator_type& __a)
123 ^
124/usr/include/c++/4.8.2/bits/stl_vector.h:256:7: note: no known conversion for argument 1 from ‘boost::any’ to ‘const allocator_type& {aka const std::allocator<boost::any>&}’
125/usr/include/c++/4.8.2/bits/stl_vector.h:248:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = boost::any; _Alloc = std::allocator<boost::any>]
126 vector()
127 ^
128/usr/include/c++/4.8.2/bits/stl_vector.h:248:7: note: candidate expects 0 arguments, 1 provided
129In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
130 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
131 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
132 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
133 from rule.cpp:2:
134./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::pre(Exposed&) [with Exposed = boost::any; Transformed = std::basic_string<char>; Enable = void]’:
135./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::basic_string<char>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
136./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
137./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
138./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::operator()(const Component&) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any]’
139./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:37:19: required from ‘bool boost::fusion::detail::linear_any(const First&, const Last&, F&, mpl_::false_) [with First = boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > >; Last = boost::fusion::cons_iterator<const boost::fusion::nil>; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >, boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, boost::any>; mpl_::false_ = mpl_::bool_<false>]’
140./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:42:83: [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
141./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4<R, T1, T2, T3, T4>::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&]’
142./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
143./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
144./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
145./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
146rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
147rule.cpp:54:47: required from here
148./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::basic_string<char>::basic_string(boost::any&)’
149 static Transformed pre(Exposed& val) { return Transformed(val); }
150 ^
151./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are:
152In file included from /usr/include/c++/4.8.2/string:52:0,
153 from /usr/include/c++/4.8.2/bits/locale_classes.h:40,
154 from /usr/include/c++/4.8.2/bits/ios_base.h:41,
155 from /usr/include/c++/4.8.2/iomanip:40,
156 from ./boost_1_41_0/boost/proto/debug.hpp:15,
157 from ./boost_1_41_0/boost/proto/proto.hpp:14,
158 from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17,
159 from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14,
160 from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14,
161 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
162 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
163 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
164 from rule.cpp:2:
165/usr/include/c++/4.8.2/bits/basic_string.h:532:9: note: template<class _InputIterator> std::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)
166 basic_string(_InputIterator __beg, _InputIterator __end,
167 ^
168/usr/include/c++/4.8.2/bits/basic_string.h:532:9: note: template argument deduction/substitution failed:
169In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
170 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
171 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
172 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
173 from rule.cpp:2:
174./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 3 arguments, 1 provided
175 static Transformed pre(Exposed& val) { return Transformed(val); }
176 ^
177In file included from /usr/include/c++/4.8.2/string:53:0,
178 from /usr/include/c++/4.8.2/bits/locale_classes.h:40,
179 from /usr/include/c++/4.8.2/bits/ios_base.h:41,
180 from /usr/include/c++/4.8.2/iomanip:40,
181 from ./boost_1_41_0/boost/proto/debug.hpp:15,
182 from ./boost_1_41_0/boost/proto/proto.hpp:14,
183 from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17,
184 from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14,
185 from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14,
186 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
187 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
188 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
189 from rule.cpp:2:
190/usr/include/c++/4.8.2/bits/basic_string.tcc:219:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
191 basic_string<_CharT, _Traits, _Alloc>::
192 ^
193/usr/include/c++/4.8.2/bits/basic_string.tcc:219:5: note: candidate expects 3 arguments, 1 provided
194/usr/include/c++/4.8.2/bits/basic_string.tcc:212:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
195 basic_string<_CharT, _Traits, _Alloc>::
196 ^
197/usr/include/c++/4.8.2/bits/basic_string.tcc:212:5: note: no known conversion for argument 1 from ‘boost::any’ to ‘const char*’
198/usr/include/c++/4.8.2/bits/basic_string.tcc:205:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
199 basic_string<_CharT, _Traits, _Alloc>::
200 ^
201/usr/include/c++/4.8.2/bits/basic_string.tcc:205:5: note: candidate expects 3 arguments, 1 provided
202/usr/include/c++/4.8.2/bits/basic_string.tcc:193:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
203 basic_string<_CharT, _Traits, _Alloc>::
204 ^
205/usr/include/c++/4.8.2/bits/basic_string.tcc:193:5: note: candidate expects 4 arguments, 1 provided
206/usr/include/c++/4.8.2/bits/basic_string.tcc:183:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
207 basic_string<_CharT, _Traits, _Alloc>::
208 ^
209/usr/include/c++/4.8.2/bits/basic_string.tcc:183:5: note: candidate expects 3 arguments, 1 provided
210/usr/include/c++/4.8.2/bits/basic_string.tcc:169:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
211 basic_string<_CharT, _Traits, _Alloc>::
212 ^
213/usr/include/c++/4.8.2/bits/basic_string.tcc:169:5: note: no known conversion for argument 1 from ‘boost::any’ to ‘const std::basic_string<char>&’
214/usr/include/c++/4.8.2/bits/basic_string.tcc:177:5: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
215 basic_string<_CharT, _Traits, _Alloc>::
216 ^
217/usr/include/c++/4.8.2/bits/basic_string.tcc:177:5: note: no known conversion for argument 1 from ‘boost::any’ to ‘const std::allocator<char>&’
218In file included from /usr/include/c++/4.8.2/string:52:0,
219 from /usr/include/c++/4.8.2/bits/locale_classes.h:40,
220 from /usr/include/c++/4.8.2/bits/ios_base.h:41,
221 from /usr/include/c++/4.8.2/iomanip:40,
222 from ./boost_1_41_0/boost/proto/debug.hpp:15,
223 from ./boost_1_41_0/boost/proto/proto.hpp:14,
224 from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17,
225 from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14,
226 from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14,
227 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
228 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
229 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
230 from rule.cpp:2:
231/usr/include/c++/4.8.2/bits/basic_string.h:437:7: note: std::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
232 basic_string()
233 ^
234/usr/include/c++/4.8.2/bits/basic_string.h:437:7: note: candidate expects 0 arguments, 1 provided
235In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
236 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
237 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
238 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
239 from rule.cpp:2:
240./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::map<std::basic_string<char>, boost::any>; Enable = void; mpl_::true_ = mpl_::bool_<true>]’:
241./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::map<std::basic_string<char>, boost::any>; Enable = void]’
242./boost_1_41_0/boost/spirit/home/support/attributes.hpp:525:74: required from ‘void boost::spirit::traits::post_transform(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::map<std::basic_string<char>, boost::any>]’
243./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::map<std::basic_string<char>, boost::any>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
244./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
245./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
246./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
247./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
248./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
249./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
250./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
251rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
252rule.cpp:54:47: required from here
253./boost_1_41_0/boost/spirit/home/support/attributes.hpp:419:32: error: ‘assign_to’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
254 assign_to(attr, val);
255 ^
256In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0,
257 from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19,
258 from ./boost_1_41_0/boost/spirit/home/qi.hpp:15,
259 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
260 from rule.cpp:2:
261./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template<class T> void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit
262 assign_to(T const&, unused_type)
263 ^
264In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
265 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
266 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
267 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
268 from rule.cpp:2:
269./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::vector<boost::any>; Enable = void; mpl_::true_ = mpl_::bool_<true>]’:
270./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::vector<boost::any>; Enable = void]’
271./boost_1_41_0/boost/spirit/home/support/attributes.hpp:525:74: required from ‘void boost::spirit::traits::post_transform(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::vector<boost::any>]’
272./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::vector<boost::any>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
273./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
274./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
275./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
276./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
277./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
278./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
279./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
280rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
281rule.cpp:54:47: required from here
282./boost_1_41_0/boost/spirit/home/support/attributes.hpp:419:32: error: ‘assign_to’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
283 assign_to(attr, val);
284 ^
285In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0,
286 from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19,
287 from ./boost_1_41_0/boost/spirit/home/qi.hpp:15,
288 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
289 from rule.cpp:2:
290./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template<class T> void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit
291 assign_to(T const&, unused_type)
292 ^
293In file included from ./boost_1_41_0/boost/spirit/home/qi/string/tst.hpp:14:0,
294 from ./boost_1_41_0/boost/spirit/home/qi/string/symbols.hpp:16,
295 from ./boost_1_41_0/boost/spirit/home/qi/string.hpp:15,
296 from ./boost_1_41_0/boost/spirit/home/qi.hpp:26,
297 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
298 from rule.cpp:2:
299./boost_1_41_0/boost/spirit/home/qi/string/detail/tst.hpp: In instantiation of ‘static T* boost::spirit::qi::detail::tst_node<Char, T>::find(boost::spirit::qi::detail::tst_node<Char, T>*, Iterator&, Iterator, Filter) [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Filter = boost::spirit::qi::tst_pass_through; Char = char; T = void*]’:
300./boost_1_41_0/boost/spirit/home/qi/string/tst.hpp:58:56: required from ‘T* boost::spirit::qi::tst<Char, T>::find(Iterator&, Iterator, Filter) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Filter = boost::spirit::qi::tst_pass_through; Char = char; T = void*]’
301./boost_1_41_0/boost/spirit/home/qi/string/symbols.hpp:226:53: required from ‘bool boost::spirit::qi::symbols<Char, T, Lookup, Filter>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Char = char; T = void*; Lookup = boost::spirit::qi::tst<char, void*>; Filter = boost::spirit::qi::tst_pass_through]’
302./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = boost::spirit::qi::symbols<char, void*>]’
303./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
304./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::operator()(const Component&) const [with Component = boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any]’
305./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:37:19: [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
306./boost_1_41_0/boost/function/function_template.hpp:132:42: required from ‘static R boost::detail::function::function_obj_invoker4<FunctionObj, R, T0, T1, T2, T3>::invoke(boost::detail::function::function_buffer&, T0, T1, T2, T3) [with FunctionObj = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&]’
307./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4<R, T1, T2, T3, T4>::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&]’
308./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
309./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
310./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
311./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
312rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
313rule.cpp:54:47: required from here
314./boost_1_41_0/boost/spirit/home/qi/string/detail/tst.hpp:69:24: warning: converting ‘false’ to pointer type ‘void**’ [-Wconversion-null]
315 return false;
316 ^
317In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0,
318 from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14,
319 from ./boost_1_41_0/boost/spirit/home/qi.hpp:14,
320 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
321 from rule.cpp:2:
322./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::basic_string<char>; Enable = void; mpl_::true_ = mpl_::bool_<true>]’:
323./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute<Exposed, Transformed, Enable>::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::basic_string<char>; Enable = void]’
324./boost_1_41_0/boost/spirit/home/support/attributes.hpp:525:74: required from ‘void boost::spirit::traits::post_transform(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::basic_string<char>]’
325./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule<Iterator, T1, T2, T3>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = std::basic_string<char>(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
326./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference<Subject>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>]’
327./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function<Iterator, Context, Skipper, Attribute>::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; Context = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >; Attribute = boost::any; mpl_::true_ = mpl_::bool_<true>]’
328./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
329./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4<R, T1, T2, T3, T4>::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&]’
330./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
331./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’
332./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char, void*> >, boost::fusion::cons<boost::spirit::qi::real_parser_impl<double, boost::spirit::qi::real_policies<double> >, boost::fusion::cons<boost::spirit::qi::bool_parser_impl<>, boost::fusion::nil> > > > > > >, mpl_::bool_<false> >; R = bool; T0 = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T1 = const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&; T2 = boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, boost::spirit::context<boost::fusion::cons<boost::any&, boost::fusion::nil>, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >&)>&]’
333./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3>& boost::spirit::qi::rule<Iterator, T1, T2, T3>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::map<std::basic_string<char>, boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::vector<boost::any>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >, std::basic_string<char>(), boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::double_>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::bool_>&>, 2l>; Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >; T1 = boost::any(); T2 = boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::ascii> >, 0l>; T3 = boost::fusion::unused_type]’
334rule.cpp:36:14: required from ‘json::Grammar<Iterator>::Grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
335rule.cpp:54:47: required from here
336./boost_1_41_0/boost/spirit/home/support/attributes.hpp:419:32: error: ‘assign_to’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
337 assign_to(attr, val);
338 ^
339In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0,
340 from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19,
341 from ./boost_1_41_0/boost/spirit/home/qi.hpp:15,
342 from ./boost_1_41_0/boost/spirit/include/qi.hpp:16,
343 from rule.cpp:2:
344./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template<class T> void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit
345 assign_to(T const&, unused_type)
346 ^