id summary reporter owner description type status milestone component version severity resolution keywords cc 1914 Boost.PropertyTree JSON parser in SVN trunk does not compile with Spirit2 changes ramon.casellas@… kaalus "Boost.PropertyTree JSON parser in SVN trunk does not compile with Spirit2 changes. See g++ 4.1 log. Attached patch that solves the issue (at least for me). A hack, surely there exists a better/cleaner patch (compile) from .... boost/property_tree/detail/json_parser_read.hpp from .... boost/property_tree/json_parser.hpp from .... proj/parser.cpp /mnt/server/grups/boost/include/boost-1_35/boost/spirit.hpp:15:4: warning: #warning ""This header is deprecated. Please use: boost/spirit/include/classic.hpp"" /mnt/server/grups/boost/include/boost-1_35/boost/property_tree/detail/json_parser_read.hpp:158: error: expected template-name before < token compilation terminated due to -Wfatal-errors (patch) -----8<-------8<------- --- /opt/boost-svn/include/boost-1_35/boost/property_tree/detail/json_parser_read.hpp.old 2008-05-13 08:56:17.000000000 +0200 +++ /opt/boost-svn/include/boost-1_35/boost/property_tree/detail/json_parser_read.hpp 2008-05-13 09:04:10.000000000 +0200 @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,6 +24,7 @@ namespace boost { namespace property_tree { namespace json_parser { + using namespace BOOST_SPIRIT_CLASSIC_NS; /////////////////////////////////////////////////////////////////////// // Json parser context @@ -155,7 +156,7 @@ // Json grammar template - struct json_grammar: public boost::spirit::grammar > + struct json_grammar: public grammar > { typedef context Context; @@ -167,14 +168,11 @@ struct definition { - boost::spirit::rule root, object, member, array, item, value, string, number; - boost::spirit::rule::type> character, escape; + rule root, object, member, array, item, value, string, number; + rule::type> character, escape; definition(const json_grammar &self) { - - using namespace boost::spirit; - // Assertions assertion expect_object(""expected object""); assertion expect_eoi(""expected end of input""); @@ -259,7 +257,7 @@ } - const boost::spirit::rule &start() const + const rule &start() const { return root; } @@ -279,8 +277,6 @@ Ptree &pt, const std::string &filename) { - - using namespace boost::spirit; typedef typename Ptree::key_type::value_type Ch; typedef typename std::vector::iterator It; -----------------------8<------------------------------------------- " Bugs closed To Be Determined property_tree Boost Development Trunk Showstopper fixed property tree, Boost.PropertyTree, spirit2