In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute::pre(Exposed&) [with Exposed = boost::any; Transformed = std::map, boost::any>; Enable = void]’: ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::map, boost::any>(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function::operator()(const Component&) const [with Component = boost::spirit::qi::reference >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any]’ ./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 >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >; Last = boost::fusion::cons_iterator; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator >, boost::spirit::context, boost::fusion::vector0<> >, boost::spirit::qi::char_class >, boost::any>; mpl_::false_ = mpl_::bool_]’ ./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:55:63: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::map, boost::any>::map(boost::any&)’ static Transformed pre(Exposed& val) { return Transformed(val); } ^ ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are: In file included from /usr/include/c++/4.8.2/map:61:0, from rule.cpp:7: /usr/include/c++/4.8.2/bits/stl_map.h:241:9: note: template std::map<_Key, _Tp, _Compare, _Alloc>::map(_InputIterator, _InputIterator, const _Compare&, const allocator_type&) map(_InputIterator __first, _InputIterator __last, ^ /usr/include/c++/4.8.2/bits/stl_map.h:241:9: note: template argument deduction/substitution failed: In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 4 arguments, 1 provided static Transformed pre(Exposed& val) { return Transformed(val); } ^ In file included from /usr/include/c++/4.8.2/map:61:0, from rule.cpp:7: /usr/include/c++/4.8.2/bits/stl_map.h:224:9: note: template std::map<_Key, _Tp, _Compare, _Alloc>::map(_InputIterator, _InputIterator) map(_InputIterator __first, _InputIterator __last) ^ /usr/include/c++/4.8.2/bits/stl_map.h:224:9: note: template argument deduction/substitution failed: In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 2 arguments, 1 provided static Transformed pre(Exposed& val) { return Transformed(val); } ^ In file included from /usr/include/c++/4.8.2/map:61:0, from rule.cpp:7: /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; _Tp = boost::any; _Compare = std::less >; _Alloc = std::allocator, boost::any> >] map(const map& __x) ^ /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, boost::any>&’ /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; _Tp = boost::any; _Compare = std::less >; _Alloc = std::allocator, boost::any> >; std::map<_Key, _Tp, _Compare, _Alloc>::allocator_type = std::allocator, boost::any> >] map(const _Compare& __comp, ^ /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 >&’ /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; _Tp = boost::any; _Compare = std::less >; _Alloc = std::allocator, boost::any> >] map() ^ /usr/include/c++/4.8.2/bits/stl_map.h:160:7: note: candidate expects 0 arguments, 1 provided In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute::pre(Exposed&) [with Exposed = boost::any; Transformed = std::vector; Enable = void]’: ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::vector(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function::operator()(const Component&) const [with Component = boost::spirit::qi::reference >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any]’ ./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 >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > >; Last = boost::fusion::cons_iterator; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator >, boost::spirit::context, boost::fusion::vector0<> >, boost::spirit::qi::char_class >, boost::any>; mpl_::false_ = mpl_::bool_]’ ./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:42:83: [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::vector::vector(boost::any&)’ static Transformed pre(Exposed& val) { return Transformed(val); } ^ ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are: In file included from /usr/include/c++/4.8.2/vector:64:0, from ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:35, from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: /usr/include/c++/4.8.2/bits/stl_vector.h:398:9: note: template std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) vector(_InputIterator __first, _InputIterator __last, ^ /usr/include/c++/4.8.2/bits/stl_vector.h:398:9: note: template argument deduction/substitution failed: In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 3 arguments, 1 provided static Transformed pre(Exposed& val) { return Transformed(val); } ^ In file included from /usr/include/c++/4.8.2/vector:64:0, from ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:35, from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: /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] vector(const vector& __x) ^ /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&’ /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; 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] vector(size_type __n, const value_type& __value = value_type(), ^ /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::size_type {aka long unsigned int}’ /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; std::vector<_Tp, _Alloc>::allocator_type = std::allocator] vector(const allocator_type& __a) ^ /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&}’ /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] vector() ^ /usr/include/c++/4.8.2/bits/stl_vector.h:248:7: note: candidate expects 0 arguments, 1 provided In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static Transformed boost::spirit::traits::transform_attribute::pre(Exposed&) [with Exposed = boost::any; Transformed = std::basic_string; Enable = void]’: ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:225:74: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::basic_string(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function::operator()(const Component&) const [with Component = boost::spirit::qi::reference >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any]’ ./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 >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > >; Last = boost::fusion::cons_iterator; F = boost::spirit::qi::detail::alternative_function<__gnu_cxx::__normal_iterator >, boost::spirit::context, boost::fusion::vector0<> >, boost::spirit::qi::char_class >, boost::any>; mpl_::false_ = mpl_::bool_]’ ./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:42:83: [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&]’ ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: error: no matching function for call to ‘std::basic_string::basic_string(boost::any&)’ static Transformed pre(Exposed& val) { return Transformed(val); } ^ ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidates are: In file included from /usr/include/c++/4.8.2/string:52:0, from /usr/include/c++/4.8.2/bits/locale_classes.h:40, from /usr/include/c++/4.8.2/bits/ios_base.h:41, from /usr/include/c++/4.8.2/iomanip:40, from ./boost_1_41_0/boost/proto/debug.hpp:15, from ./boost_1_41_0/boost/proto/proto.hpp:14, from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17, from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: /usr/include/c++/4.8.2/bits/basic_string.h:532:9: note: template std::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) basic_string(_InputIterator __beg, _InputIterator __end, ^ /usr/include/c++/4.8.2/bits/basic_string.h:532:9: note: template argument deduction/substitution failed: In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:409:70: note: candidate expects 3 arguments, 1 provided static Transformed pre(Exposed& val) { return Transformed(val); } ^ In file included from /usr/include/c++/4.8.2/string:53:0, from /usr/include/c++/4.8.2/bits/locale_classes.h:40, from /usr/include/c++/4.8.2/bits/ios_base.h:41, from /usr/include/c++/4.8.2/iomanip:40, from ./boost_1_41_0/boost/proto/debug.hpp:15, from ./boost_1_41_0/boost/proto/proto.hpp:14, from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17, from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: /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; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int] basic_string<_CharT, _Traits, _Alloc>:: ^ /usr/include/c++/4.8.2/bits/basic_string.tcc:219:5: note: candidate expects 3 arguments, 1 provided /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; _Alloc = std::allocator] basic_string<_CharT, _Traits, _Alloc>:: ^ /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*’ /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; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int] basic_string<_CharT, _Traits, _Alloc>:: ^ /usr/include/c++/4.8.2/bits/basic_string.tcc:205:5: note: candidate expects 3 arguments, 1 provided /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; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int] basic_string<_CharT, _Traits, _Alloc>:: ^ /usr/include/c++/4.8.2/bits/basic_string.tcc:193:5: note: candidate expects 4 arguments, 1 provided /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; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int] basic_string<_CharT, _Traits, _Alloc>:: ^ /usr/include/c++/4.8.2/bits/basic_string.tcc:183:5: note: candidate expects 3 arguments, 1 provided /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; _Alloc = std::allocator] basic_string<_CharT, _Traits, _Alloc>:: ^ /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&’ /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; _Alloc = std::allocator] basic_string<_CharT, _Traits, _Alloc>:: ^ /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&’ In file included from /usr/include/c++/4.8.2/string:52:0, from /usr/include/c++/4.8.2/bits/locale_classes.h:40, from /usr/include/c++/4.8.2/bits/ios_base.h:41, from /usr/include/c++/4.8.2/iomanip:40, from ./boost_1_41_0/boost/proto/debug.hpp:15, from ./boost_1_41_0/boost/proto/proto.hpp:14, from ./boost_1_41_0/boost/spirit/home/support/meta_compiler.hpp:17, from ./boost_1_41_0/boost/spirit/home/qi/meta_compiler.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: /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; _Alloc = std::allocator] basic_string() ^ /usr/include/c++/4.8.2/bits/basic_string.h:437:7: note: candidate expects 0 arguments, 1 provided In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::map, boost::any>; Enable = void; mpl_::true_ = mpl_::bool_]’: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::map, boost::any>; Enable = void]’ ./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, boost::any>]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::map, boost::any>(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./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 ] ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./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] assign_to(attr, val); ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0, from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19, from ./boost_1_41_0/boost/spirit/home/qi.hpp:15, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit assign_to(T const&, unused_type) ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::vector; Enable = void; mpl_::true_ = mpl_::bool_]’: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::vector; Enable = void]’ ./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_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::vector(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./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 ] ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./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] assign_to(attr, val); ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0, from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19, from ./boost_1_41_0/boost/spirit/home/qi.hpp:15, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit assign_to(T const&, unused_type) ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/string/tst.hpp:14:0, from ./boost_1_41_0/boost/spirit/home/qi/string/symbols.hpp:16, from ./boost_1_41_0/boost/spirit/home/qi/string.hpp:15, from ./boost_1_41_0/boost/spirit/home/qi.hpp:26, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/qi/string/detail/tst.hpp: In instantiation of ‘static T* boost::spirit::qi::detail::tst_node::find(boost::spirit::qi::detail::tst_node*, Iterator&, Iterator, Filter) [with Iterator = __gnu_cxx::__normal_iterator >; Filter = boost::spirit::qi::tst_pass_through; Char = char; T = void*]’: ./boost_1_41_0/boost/spirit/home/qi/string/tst.hpp:58:56: required from ‘T* boost::spirit::qi::tst::find(Iterator&, Iterator, Filter) const [with Iterator = __gnu_cxx::__normal_iterator >; Filter = boost::spirit::qi::tst_pass_through; Char = char; T = void*]’ ./boost_1_41_0/boost/spirit/home/qi/string/symbols.hpp:226:53: required from ‘bool boost::spirit::qi::symbols::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Char = char; T = void*; Lookup = boost::spirit::qi::tst; Filter = boost::spirit::qi::tst_pass_through]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = boost::spirit::qi::symbols]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:64:20: required from ‘bool boost::spirit::qi::detail::alternative_function::operator()(const Component&) const [with Component = boost::spirit::qi::reference >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any]’ ./boost_1_41_0/boost/fusion/algorithm/query/detail/any.hpp:37:19: [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./boost_1_41_0/boost/function/function_template.hpp:132:42: required from ‘static R boost::detail::function::function_obj_invoker4::invoke(boost::detail::function::function_buffer&, T0, T1, T2, T3) [with FunctionObj = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&]’ ./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&]’ ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./boost_1_41_0/boost/spirit/home/qi/string/detail/tst.hpp:69:24: warning: converting ‘false’ to pointer type ‘void**’ [-Wconversion-null] return false; ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/action/action.hpp:16:0, from ./boost_1_41_0/boost/spirit/home/qi/action.hpp:14, from ./boost_1_41_0/boost/spirit/home/qi.hpp:14, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp: In instantiation of ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&, mpl_::true_) [with Exposed = boost::any; Transformed = std::basic_string; Enable = void; mpl_::true_ = mpl_::bool_]’: ./boost_1_41_0/boost/spirit/home/support/attributes.hpp:424:67: required from ‘static void boost::spirit::traits::transform_attribute::post(Exposed&, const Transformed&) [with Exposed = boost::any; Transformed = std::basic_string; Enable = void]’ ./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]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:240:55: required from ‘bool boost::spirit::qi::rule::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Iterator = __gnu_cxx::__normal_iterator >; T1 = std::basic_string(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ ./boost_1_41_0/boost/spirit/home/qi/reference.hpp:41:71: required from ‘bool boost::spirit::qi::reference::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>]’ ./boost_1_41_0/boost/spirit/home/qi/detail/alternative_function.hpp:39:71: required from ‘bool boost::spirit::qi::detail::alternative_function::call(const Component&, mpl_::true_) const [with Component = boost::spirit::qi::reference >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >; Iterator = __gnu_cxx::__normal_iterator >; Context = boost::spirit::context, boost::fusion::vector0<> >; Skipper = boost::spirit::qi::char_class >; Attribute = boost::any; mpl_::true_ = mpl_::bool_]’ ./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 ] ./boost_1_41_0/boost/function/function_template.hpp:913:38: required from ‘void boost::function4::assign_to(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&]’ ./boost_1_41_0/boost/function/function_template.hpp:722:7: required from ‘boost::function4::function4(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1064:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, int>::type = int]’ ./boost_1_41_0/boost/function/function_template.hpp:1105:5: required from ‘typename boost::enable_if_c::value>::value, boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type> >, boost::fusion::cons >, boost::fusion::cons >, boost::fusion::cons, boost::fusion::nil> > > > > > >, mpl_::bool_ >; R = bool; T0 = __gnu_cxx::__normal_iterator >&; T1 = const __gnu_cxx::__normal_iterator >&; T2 = boost::spirit::context, boost::fusion::vector0<> >&; T3 = const boost::spirit::qi::char_class >&; typename boost::enable_if_c::value>::value, boost::function&>::type = boost::function >&, const __gnu_cxx::__normal_iterator >&, boost::spirit::context, boost::fusion::vector0<> >&, const boost::spirit::qi::char_class >&)>&]’ ./boost_1_41_0/boost/spirit/home/qi/nonterminal/rule.hpp:178:15: required from ‘boost::spirit::qi::rule& boost::spirit::qi::rule::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr >, std::map, boost::any>(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::vector(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator >, std::basic_string(), boost::proto::exprns_::expr >, 0l>, boost::fusion::unused_type>&>, 2l>&, json::nullptr_t_&>, 2l>&, const boost::spirit::terminal&>, 2l>&, const boost::spirit::terminal&>, 2l>; Iterator = __gnu_cxx::__normal_iterator >; T1 = boost::any(); T2 = boost::proto::exprns_::expr >, 0l>; T3 = boost::fusion::unused_type]’ rule.cpp:36:14: required from ‘json::Grammar::Grammar() [with Iterator = __gnu_cxx::__normal_iterator >]’ rule.cpp:54:47: required from here ./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] assign_to(attr, val); ^ In file included from ./boost_1_41_0/boost/spirit/home/qi/auxiliary/attr.hpp:18:0, from ./boost_1_41_0/boost/spirit/home/qi/auxiliary.hpp:19, from ./boost_1_41_0/boost/spirit/home/qi.hpp:15, from ./boost_1_41_0/boost/spirit/include/qi.hpp:16, from rule.cpp:2: ./boost_1_41_0/boost/spirit/home/qi/detail/assign_to.hpp:104:5: note: ‘template void boost::spirit::traits::assign_to(const T&, boost::fusion::unused_type)’ declared here, later in the translation unit assign_to(T const&, unused_type) ^