diff --git a/include/mapnik/json/geometry_grammar.hpp b/include/mapnik/json/geometry_grammar.hpp index 800a48bf0..4b0d1194c 100644 --- a/include/mapnik/json/geometry_grammar.hpp +++ b/include/mapnik/json/geometry_grammar.hpp @@ -30,9 +30,11 @@ #include #include -// spirit::qi +#pragma GCC diagnostic push +#include #include #include +#pragma GCC diagnostic pop namespace mapnik { namespace json { diff --git a/include/mapnik/json/geometry_grammar_impl.hpp b/include/mapnik/json/geometry_grammar_impl.hpp index 90f09bfe7..691799ba2 100644 --- a/include/mapnik/json/geometry_grammar_impl.hpp +++ b/include/mapnik/json/geometry_grammar_impl.hpp @@ -24,12 +24,10 @@ #include #include #include -#include // boost -#include #include -#include +#include namespace mapnik { namespace json { diff --git a/include/mapnik/json/geometry_util.hpp b/include/mapnik/json/geometry_util.hpp index 6e8fb6794..cf538ae73 100644 --- a/include/mapnik/json/geometry_util.hpp +++ b/include/mapnik/json/geometry_util.hpp @@ -25,6 +25,7 @@ #include #include +#include namespace mapnik { namespace json { diff --git a/include/mapnik/json/positions.hpp b/include/mapnik/json/positions.hpp new file mode 100644 index 000000000..9ad10f99a --- /dev/null +++ b/include/mapnik/json/positions.hpp @@ -0,0 +1,40 @@ +/***************************************************************************** + * + * This file is part of Mapnik (c++ mapping toolkit) + * + * Copyright (C) 2015 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_JSON_POSITIONS_HPP +#define MAPNIK_JSON_POSITIONS_HPP + +// mapnik +#include +#include + +namespace mapnik { namespace json { + +struct empty {}; + +using position = mapnik::geometry::point; +using positions = std::vector; +using coordinates = util::variant, std::vector > > ; + +}} + +#endif // MAPNIK_JSON_POSITIONS_HPP diff --git a/include/mapnik/json/positions_grammar.hpp b/include/mapnik/json/positions_grammar.hpp index 153542257..8ff9e8a63 100644 --- a/include/mapnik/json/positions_grammar.hpp +++ b/include/mapnik/json/positions_grammar.hpp @@ -25,6 +25,7 @@ // mapnik #include +#include #include #include #include @@ -34,20 +35,11 @@ #include #include #include -#include #pragma GCC diagnostic pop -// stl -#include namespace mapnik { namespace json { -struct empty {}; - -using position = mapnik::geometry::point; -using positions = std::vector; -using coordinates = util::variant, std::vector > > ; - namespace qi = boost::spirit::qi; struct set_position_impl diff --git a/src/json/mapnik_json_positions_grammar.cpp b/src/json/mapnik_json_positions_grammar.cpp new file mode 100644 index 000000000..a13f0e313 --- /dev/null +++ b/src/json/mapnik_json_positions_grammar.cpp @@ -0,0 +1,27 @@ +/***************************************************************************** + * + * This file is part of Mapnik (c++ mapping toolkit) + * + * Copyright (C) 2015 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 + * + *****************************************************************************/ + +#include +#include + +using iterator_type = char const*; +template struct mapnik::json::positions_grammar;