template feature_generator_grammar on FeatureType - ref #2546
This commit is contained in:
parent
14b497d236
commit
132507571b
4 changed files with 9 additions and 8 deletions
|
@ -35,7 +35,7 @@ namespace mapnik { namespace json {
|
|||
inline bool to_geojson(std::string & json, mapnik::feature_impl const& feature)
|
||||
{
|
||||
using sink_type = std::back_insert_iterator<std::string>;
|
||||
static const mapnik::json::feature_generator_grammar<sink_type> grammar;
|
||||
static const mapnik::json::feature_generator_grammar<sink_type, mapnik::feature_impl> grammar;
|
||||
sink_type sink(json);
|
||||
return boost::spirit::karma::generate(sink, grammar, feature);
|
||||
}
|
||||
|
|
|
@ -89,14 +89,15 @@ struct get_id
|
|||
}
|
||||
};
|
||||
|
||||
template <typename OutputIterator>
|
||||
|
||||
template <typename OutputIterator, typename FeatureType>
|
||||
struct feature_generator_grammar :
|
||||
karma::grammar<OutputIterator, mapnik::feature_impl const&()>
|
||||
karma::grammar<OutputIterator, FeatureType const&()>
|
||||
{
|
||||
feature_generator_grammar();
|
||||
karma::rule<OutputIterator, mapnik::feature_impl const&()> feature;
|
||||
karma::rule<OutputIterator, FeatureType const&()> feature;
|
||||
multi_geometry_generator_grammar<OutputIterator, mapnik::geometry_container> geometry;
|
||||
properties_generator_grammar<OutputIterator, mapnik::feature_impl> properties;
|
||||
properties_generator_grammar<OutputIterator, FeatureType> properties;
|
||||
boost::phoenix::function<get_id> id_;
|
||||
};
|
||||
|
||||
|
|
|
@ -29,8 +29,8 @@
|
|||
|
||||
namespace mapnik { namespace json {
|
||||
|
||||
template <typename OutputIterator>
|
||||
feature_generator_grammar<OutputIterator>::feature_generator_grammar()
|
||||
template <typename OutputIterator, typename FeatureType>
|
||||
feature_generator_grammar<OutputIterator, FeatureType>::feature_generator_grammar()
|
||||
: feature_generator_grammar::base_type(feature)
|
||||
{
|
||||
boost::spirit::karma::lit_type lit;
|
||||
|
|
|
@ -30,6 +30,6 @@
|
|||
using sink_type = std::back_insert_iterator<std::string>;
|
||||
|
||||
template struct mapnik::json::properties_generator_grammar<sink_type, mapnik::feature_impl>;
|
||||
template struct mapnik::json::feature_generator_grammar<sink_type>;
|
||||
template struct mapnik::json::feature_generator_grammar<sink_type, mapnik::feature_impl>;
|
||||
template struct mapnik::json::geometry_generator_grammar<sink_type, mapnik::geometry_type>;
|
||||
template struct mapnik::json::multi_geometry_generator_grammar<sink_type, mapnik::geometry_container>;
|
||||
|
|
Loading…
Add table
Reference in a new issue