\r
#define BOOST_SPIRIT_THREADSAFE // uncomment for multithreaded use, requires linking to boost.thread\r
\r
-#include <boost/bind.hpp>\r
+#include <boost/bind/bind.hpp>\r
#include <boost/function.hpp>\r
#include <boost/version.hpp>\r
-\r
-#if BOOST_VERSION >= 103800\r
- #include <boost/spirit/include/classic_core.hpp>\r
- #include <boost/spirit/include/classic_confix.hpp>\r
- #include <boost/spirit/include/classic_escape_char.hpp>\r
- #include <boost/spirit/include/classic_multi_pass.hpp>\r
- #include <boost/spirit/include/classic_position_iterator.hpp>\r
- #define spirit_namespace boost::spirit::classic\r
-#else\r
- #include <boost/spirit/core.hpp>\r
- #include <boost/spirit/utility/confix.hpp>\r
- #include <boost/spirit/utility/escape_char.hpp>\r
- #include <boost/spirit/iterator/multi_pass.hpp>\r
- #include <boost/spirit/iterator/position_iterator.hpp>\r
- #define spirit_namespace boost::spirit\r
-#endif\r
+#include <boost/spirit/include/classic_core.hpp>\r
+#include <boost/spirit/include/classic_confix.hpp>\r
+#include <boost/spirit/include/classic_escape_char.hpp>\r
+#include <boost/spirit/include/classic_multi_pass.hpp>\r
+#include <boost/spirit/include/classic_position_iterator.hpp>\r
\r
#include "include/ceph_assert.h"\r
\r
namespace json_spirit\r
{\r
+ namespace spirit_namespace = boost::spirit::classic;\r
+\r
const spirit_namespace::int_parser < boost::int64_t > int64_p = spirit_namespace::int_parser < boost::int64_t >();\r
const spirit_namespace::uint_parser< boost::uint64_t > uint64_p = spirit_namespace::uint_parser< boost::uint64_t >();\r
\r
return get_str( tmp.begin(), tmp.end() );\r
}\r
\r
+ using namespace boost::placeholders;\r
+\r
// this class's methods get called by the spirit parse resulting\r
// in the creation of a JSON object or array\r
//\r