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>; }}