geometry_generator - fix synthesised attribute types

This commit is contained in:
artemp 2016-07-12 11:11:35 +01:00
parent 74bf270d21
commit fd41b682be
2 changed files with 6 additions and 9 deletions

View file

@ -96,11 +96,10 @@ struct geometry_generator_grammar :
karma::rule<OutputIterator, geometry::geometry<double> const&()> point;
karma::rule<OutputIterator, geometry::point<double> const&()> point_coord;
karma::rule<OutputIterator, geometry::geometry<double> const&()> linestring;
karma::rule<OutputIterator, geometry::line_string<double>::container_type const&()> linestring_coord;
karma::rule<OutputIterator, geometry::line_string<double> const&()> linestring_coord;
karma::rule<OutputIterator, geometry::geometry<double> const&()> polygon;
karma::rule<OutputIterator, geometry::polygon<double> const&()> polygon_coord;
//karma::rule<OutputIterator, geometry::linear_ring<double> const&()> exterior_ring_coord;
//karma::rule<OutputIterator, geometry::polygon<double> const&()> polygon_coord;
karma::rule<OutputIterator, geometry::linear_ring<double> const&()> linearring_coord;
karma::rule<OutputIterator, geometry::geometry<double> const& ()> multi_point;
karma::rule<OutputIterator, geometry::multi_point<double> const& ()> multi_point_coord;
karma::rule<OutputIterator, geometry::geometry<double> const& ()> multi_linestring;

View file

@ -98,19 +98,17 @@ geometry_generator_grammar<OutputIterator, Geometry>::geometry_generator_grammar
;
linestring_coord = point_coord % lit(',')
;
polygon_coord = (lit('[') << linestring_coord << lit(']')) % lit(',') //<< interior_ring_coord
linearring_coord = linestring.alias();
;
polygon_coord = (lit('[') << linearring_coord << lit(']')) % lit(',')
;
//exterior_ring_coord = linestring_coord.alias()
// ;
//interior_ring_coord = *(lit(",[") << exterior_ring_coord << lit(']'))
// ;
multi_point_coord = linestring_coord.alias()
;
multi_linestring_coord = (lit('[') << linestring_coord << lit(']')) % lit(',')
;
multi_polygon_coord = (lit('[') << polygon_coord << lit(']')) % lit(',')
;
geometries = geometry % lit(',')
geometries = geometry % lit(',')
;
}