From 9d056677230ecf39ac037a2b0bf883be4ab9d30e Mon Sep 17 00:00:00 2001 From: artemp Date: Tue, 20 Sep 2016 10:52:51 +0200 Subject: [PATCH] add specialisations for `coord_type = std::int64_t` --- .../geometry/boost_spirit_karma_adapter.hpp | 25 +++++++++++++++++++ src/wkt/mapnik_wkt_generator_grammar.cpp | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/include/mapnik/geometry/boost_spirit_karma_adapter.hpp b/include/mapnik/geometry/boost_spirit_karma_adapter.hpp index 2a76e979d..8182e6e57 100644 --- a/include/mapnik/geometry/boost_spirit_karma_adapter.hpp +++ b/include/mapnik/geometry/boost_spirit_karma_adapter.hpp @@ -38,6 +38,11 @@ struct not_is_variant, karma::domain> : mpl::false_ {}; +template <> +struct not_is_variant, karma::domain> + : mpl::false_ +{}; + template <> struct variant_which< mapnik::geometry::geometry > { @@ -47,6 +52,15 @@ struct variant_which< mapnik::geometry::geometry > } }; +template <> +struct variant_which< mapnik::geometry::geometry > +{ + static int call(mapnik::geometry::geometry const& v) + { + return v.which(); + } +}; + namespace detail { template @@ -89,6 +103,17 @@ struct compute_compatible_component_variant, } }; +template +struct compute_compatible_component_variant, Expected> + : detail::has_type::types> +{ + using compatible_type = Expected; + static bool is_compatible(int index) + { + return (index == detail::index::types>::value); + } +}; + }}} diff --git a/src/wkt/mapnik_wkt_generator_grammar.cpp b/src/wkt/mapnik_wkt_generator_grammar.cpp index 72452036a..a7267b71f 100644 --- a/src/wkt/mapnik_wkt_generator_grammar.cpp +++ b/src/wkt/mapnik_wkt_generator_grammar.cpp @@ -27,6 +27,6 @@ namespace mapnik { namespace wkt { using sink_type = std::back_insert_iterator; template struct wkt_generator_grammar>; -//template struct wkt_generator_grammar>; +template struct wkt_generator_grammar>; }}