From b7bdd08837d0b28902ce943f7c9f0058088e6d9a Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Wed, 18 Apr 2018 14:18:19 +0200 Subject: [PATCH] define BOOST_SPIRIT_INSTANTIATE_UNUSED once and re-use [skip-ci] --- include/mapnik/boost_spirit_instantiate.hpp | 39 +++++++++++++++++++++ include/mapnik/json/json_grammar_config.hpp | 9 +---- src/svg/svg_path_grammar_x3.cpp | 8 +---- 3 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 include/mapnik/boost_spirit_instantiate.hpp diff --git a/include/mapnik/boost_spirit_instantiate.hpp b/include/mapnik/boost_spirit_instantiate.hpp new file mode 100644 index 000000000..5552ca2bb --- /dev/null +++ b/include/mapnik/boost_spirit_instantiate.hpp @@ -0,0 +1,39 @@ +/***************************************************************************** + * + * This file is part of Mapnik (c++ mapping toolkit) + * + * Copyright (C) 2018 Artem Pavlenko + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + *****************************************************************************/ + +#ifndef MAPNIK_BOOST_SPIRIT_INSTANTIATE_HPP +#define MAPNIK_BOOST_SPIRIT_INSTANTIATE_HPP + +namespace boost { namespace spirit { namespace x3 +{ +// helper macro +#define BOOST_SPIRIT_INSTANTIATE_UNUSED(rule_type, Iterator, Context) \ + template bool parse_rule( \ + rule_type rule_ \ + , Iterator& first, Iterator const& last \ + , Context const& context, boost::spirit::x3::unused_type const& ); \ + /***/ + +}}} + + +#endif // MAPNIK_BOOST_SPIRIT_INSTANTIATE_HPP diff --git a/include/mapnik/json/json_grammar_config.hpp b/include/mapnik/json/json_grammar_config.hpp index 92422031e..ebd2977ff 100644 --- a/include/mapnik/json/json_grammar_config.hpp +++ b/include/mapnik/json/json_grammar_config.hpp @@ -33,6 +33,7 @@ #include #include #pragma GCC diagnostic pop +#include namespace mapnik { namespace json { @@ -108,14 +109,6 @@ using feature_context_const_type = x3::context>; -// helper macro -#define BOOST_SPIRIT_INSTANTIATE_UNUSED(rule_type, Iterator, Context) \ - template bool parse_rule( \ - rule_type rule_ \ - , Iterator& first, Iterator const& last \ - , Context const& context, boost::spirit::x3::unused_type const& ); \ - /***/ - }}} #endif // MAPNIK_JSON_GRAMMAR_CONFIG_HPP diff --git a/src/svg/svg_path_grammar_x3.cpp b/src/svg/svg_path_grammar_x3.cpp index 9d53a0e56..31a2622d0 100644 --- a/src/svg/svg_path_grammar_x3.cpp +++ b/src/svg/svg_path_grammar_x3.cpp @@ -21,16 +21,10 @@ *****************************************************************************/ #include +#include namespace mapnik { namespace svg { namespace grammar { -#define BOOST_SPIRIT_INSTANTIATE_UNUSED(rule_type, Iterator, Context) \ - template bool parse_rule( \ - rule_type rule_ \ - , Iterator& first, Iterator const& last \ - , Context const& context, boost::spirit::x3::unused_type const& ); \ - /***/ - BOOST_SPIRIT_INSTANTIATE_UNUSED(svg_path_grammar_type, iterator_type, svg_parse_context_type); BOOST_SPIRIT_INSTANTIATE_UNUSED(svg_points_grammar_type, iterator_type, svg_parse_context_type);