c++11
+ replace BOOST_FOREACH with for( : ) + remove boost/foreach.hpp + fix benchmarks (17,18)
This commit is contained in:
parent
49fe99ac4f
commit
58927b404c
39 changed files with 157 additions and 273 deletions
|
@ -410,69 +410,6 @@ struct test8
|
||||||
|
|
||||||
#include <mapnik/rule_cache.hpp>
|
#include <mapnik/rule_cache.hpp>
|
||||||
|
|
||||||
class rule_cache_move
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
rule_cache_move(rule_cache_move const& other) = delete; // no copy ctor
|
|
||||||
rule_cache_move& operator=(rule_cache_move const& other) = delete; // no assignment op
|
|
||||||
public:
|
|
||||||
typedef std::vector<rule const*> rule_ptrs;
|
|
||||||
rule_cache_move()
|
|
||||||
: if_rules_(),
|
|
||||||
else_rules_(),
|
|
||||||
also_rules_() {}
|
|
||||||
|
|
||||||
rule_cache_move(rule_cache_move && rhs) // move ctor
|
|
||||||
: if_rules_(std::move(rhs.if_rules_)),
|
|
||||||
else_rules_(std::move(rhs.else_rules_)),
|
|
||||||
also_rules_(std::move(rhs.also_rules_))
|
|
||||||
{}
|
|
||||||
|
|
||||||
rule_cache_move& operator=(rule_cache_move && rhs) // move assign
|
|
||||||
{
|
|
||||||
std::swap(if_rules_, rhs.if_rules_);
|
|
||||||
std::swap(else_rules_,rhs.else_rules_);
|
|
||||||
std::swap(also_rules_, rhs.also_rules_);
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
void add_rule(rule const& r)
|
|
||||||
{
|
|
||||||
if (r.has_else_filter())
|
|
||||||
{
|
|
||||||
else_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
else if (r.has_also_filter())
|
|
||||||
{
|
|
||||||
also_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_if_rules() const
|
|
||||||
{
|
|
||||||
return if_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_else_rules() const
|
|
||||||
{
|
|
||||||
return else_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_also_rules() const
|
|
||||||
{
|
|
||||||
return also_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
rule_ptrs if_rules_;
|
|
||||||
rule_ptrs else_rules_;
|
|
||||||
rule_ptrs also_rules_;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct test9
|
struct test9
|
||||||
{
|
{
|
||||||
unsigned iter_;
|
unsigned iter_;
|
||||||
|
@ -504,10 +441,10 @@ struct test9
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
for (unsigned i=0;i<iter_;++i) {
|
for (unsigned i=0;i<iter_;++i) {
|
||||||
std::vector<rule_cache_move> rule_caches;
|
std::vector<rule_cache> rule_caches;
|
||||||
for (unsigned i=0;i<num_styles_;++i)
|
for (unsigned i=0;i<num_styles_;++i)
|
||||||
{
|
{
|
||||||
rule_cache_move rc;
|
rule_cache rc;
|
||||||
for (unsigned i=0;i<num_rules_;++i)
|
for (unsigned i=0;i<num_rules_;++i)
|
||||||
{
|
{
|
||||||
rc.add_rule(rules_[i]);
|
rc.add_rule(rules_[i]);
|
||||||
|
@ -518,52 +455,6 @@ struct test9
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class rule_cache_heap
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef std::vector<rule const*> rule_ptrs;
|
|
||||||
rule_cache_heap()
|
|
||||||
: if_rules_(),
|
|
||||||
else_rules_(),
|
|
||||||
also_rules_() {}
|
|
||||||
|
|
||||||
void add_rule(rule const& r)
|
|
||||||
{
|
|
||||||
if (r.has_else_filter())
|
|
||||||
{
|
|
||||||
else_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
else if (r.has_also_filter())
|
|
||||||
{
|
|
||||||
also_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if_rules_.push_back(&r);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_if_rules() const
|
|
||||||
{
|
|
||||||
return if_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_else_rules() const
|
|
||||||
{
|
|
||||||
return else_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
rule_ptrs const& get_also_rules() const
|
|
||||||
{
|
|
||||||
return also_rules_;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
rule_ptrs if_rules_;
|
|
||||||
rule_ptrs else_rules_;
|
|
||||||
rule_ptrs also_rules_;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct test10
|
struct test10
|
||||||
{
|
{
|
||||||
unsigned iter_;
|
unsigned iter_;
|
||||||
|
@ -593,9 +484,9 @@ struct test10
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
for (unsigned i=0;i<iter_;++i) {
|
for (unsigned i=0;i<iter_;++i) {
|
||||||
std::vector<std::unique_ptr<rule_cache_heap> > rule_caches;
|
std::vector<std::unique_ptr<rule_cache> > rule_caches;
|
||||||
for (unsigned i=0;i<num_styles_;++i) {
|
for (unsigned i=0;i<num_styles_;++i) {
|
||||||
std::unique_ptr<rule_cache_heap> rc(new rule_cache_heap);
|
std::unique_ptr<rule_cache> rc(new rule_cache);
|
||||||
for (unsigned i=0;i<num_rules_;++i) {
|
for (unsigned i=0;i<num_rules_;++i) {
|
||||||
rc->add_rule(rules_[i]);
|
rc->add_rule(rules_[i]);
|
||||||
}
|
}
|
||||||
|
@ -646,8 +537,9 @@ struct test11
|
||||||
ps.line_to(extent_.maxx(), extent_.maxy());
|
ps.line_to(extent_.maxx(), extent_.maxy());
|
||||||
ps.line_to(extent_.maxx(), extent_.miny());
|
ps.line_to(extent_.maxx(), extent_.miny());
|
||||||
ps.close_polygon();
|
ps.close_polygon();
|
||||||
for (unsigned i=0;i<iter_;++i) {
|
for (unsigned i=0;i<iter_;++i)
|
||||||
BOOST_FOREACH( geometry_type & geom, paths)
|
{
|
||||||
|
for (geometry_type & geom : paths)
|
||||||
{
|
{
|
||||||
poly_clipper clipped(geom,ps,
|
poly_clipper clipped(geom,ps,
|
||||||
agg::clipper_and,
|
agg::clipper_and,
|
||||||
|
@ -697,7 +589,7 @@ struct test12
|
||||||
}
|
}
|
||||||
for (unsigned i=0;i<iter_;++i)
|
for (unsigned i=0;i<iter_;++i)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH( geometry_type & geom, paths)
|
for ( geometry_type & geom : paths)
|
||||||
{
|
{
|
||||||
poly_clipper clipped(extent_, geom);
|
poly_clipper clipped(extent_, geom);
|
||||||
unsigned cmd;
|
unsigned cmd;
|
||||||
|
@ -732,7 +624,7 @@ struct test13
|
||||||
unsigned long count = 0;
|
unsigned long count = 0;
|
||||||
for (unsigned i=0;i<iter_;++i)
|
for (unsigned i=0;i<iter_;++i)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH( std::string const& name, mapnik::freetype_engine::face_names())
|
for ( std::string const& name : mapnik::freetype_engine::face_names())
|
||||||
{
|
{
|
||||||
mapnik::face_ptr f = engine.create_face(name);
|
mapnik::face_ptr f = engine.create_face(name);
|
||||||
if (f) ++count;
|
if (f) ++count;
|
||||||
|
|
|
@ -104,7 +104,7 @@ mapnik::box2d<double> envelope_impl(path_type & p)
|
||||||
{
|
{
|
||||||
mapnik::box2d<double> b;
|
mapnik::box2d<double> b;
|
||||||
bool first = true;
|
bool first = true;
|
||||||
BOOST_FOREACH(mapnik::geometry_type const& geom, p)
|
for (mapnik::geometry_type const& geom : p)
|
||||||
{
|
{
|
||||||
if (first)
|
if (first)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/query.hpp>
|
#include <mapnik/query.hpp>
|
||||||
|
@ -55,7 +55,7 @@ struct names_to_list
|
||||||
static PyObject* convert(std::set<std::string> const& names)
|
static PyObject* convert(std::set<std::string> const& names)
|
||||||
{
|
{
|
||||||
boost::python::list l;
|
boost::python::list l;
|
||||||
BOOST_FOREACH( std::string const& name, names )
|
for ( std::string const& name : names )
|
||||||
{
|
{
|
||||||
l.append(name);
|
l.append(name);
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,3 @@ void export_query()
|
||||||
return_value_policy<copy_const_reference>()) )
|
return_value_policy<copy_const_reference>()) )
|
||||||
.def("add_property_name", &query::add_property_name);
|
.def("add_property_name", &query::add_property_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
// boost
|
// boost
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/scoped_array.hpp>
|
#include <boost/scoped_array.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/map.hpp>
|
#include <mapnik/map.hpp>
|
||||||
|
@ -240,7 +240,7 @@ void write_features(T const& grid_type,
|
||||||
|
|
||||||
std::set<std::string> const& attributes = grid_type.property_names();
|
std::set<std::string> const& attributes = grid_type.property_names();
|
||||||
typename T::feature_type::const_iterator feat_end = g_features.end();
|
typename T::feature_type::const_iterator feat_end = g_features.end();
|
||||||
BOOST_FOREACH ( std::string const& key_item, key_order )
|
for ( std::string const& key_item :key_order )
|
||||||
{
|
{
|
||||||
if (key_item.empty())
|
if (key_item.empty())
|
||||||
{
|
{
|
||||||
|
@ -256,7 +256,7 @@ void write_features(T const& grid_type,
|
||||||
bool found = false;
|
bool found = false;
|
||||||
boost::python::dict feat;
|
boost::python::dict feat;
|
||||||
mapnik::feature_ptr feature = feat_itr->second;
|
mapnik::feature_ptr feature = feat_itr->second;
|
||||||
BOOST_FOREACH ( std::string const& attr, attributes )
|
for ( std::string const& attr : attributes )
|
||||||
{
|
{
|
||||||
if (attr == "__id__")
|
if (attr == "__id__")
|
||||||
{
|
{
|
||||||
|
@ -300,7 +300,7 @@ void grid_encode_utf(T const& grid_type,
|
||||||
|
|
||||||
// convert key order to proper python list
|
// convert key order to proper python list
|
||||||
boost::python::list keys_a;
|
boost::python::list keys_a;
|
||||||
BOOST_FOREACH ( typename T::lookup_type const& key_id, key_order )
|
for ( typename T::lookup_type const& key_id : key_order )
|
||||||
{
|
{
|
||||||
keys_a.append(key_id);
|
keys_a.append(key_id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,7 +211,7 @@ public:
|
||||||
|
|
||||||
units_ = grad.get_units();
|
units_ = grad.get_units();
|
||||||
|
|
||||||
BOOST_FOREACH ( mapnik::stop_pair const& st, grad.get_stop_array() )
|
for ( mapnik::stop_pair const& st : grad.get_stop_array() )
|
||||||
{
|
{
|
||||||
mapnik::color const& stop_color = st.second;
|
mapnik::color const& stop_color = st.second;
|
||||||
double r= static_cast<double> (stop_color.red())/255.0;
|
double r= static_cast<double> (stop_color.red())/255.0;
|
||||||
|
|
|
@ -49,7 +49,6 @@
|
||||||
// boost
|
// boost
|
||||||
#include <boost/variant/apply_visitor.hpp>
|
#include <boost/variant/apply_visitor.hpp>
|
||||||
#include <boost/variant/static_visitor.hpp>
|
#include <boost/variant/static_visitor.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/concept_check.hpp>
|
#include <boost/concept_check.hpp>
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
|
@ -167,7 +166,7 @@ void feature_style_processor<Processor>::apply(double scale_denom)
|
||||||
scale_denom = mapnik::scale_denominator(m_.scale(),proj.is_geographic());
|
scale_denom = mapnik::scale_denominator(m_.scale(),proj.is_geographic());
|
||||||
scale_denom *= scale_factor_;
|
scale_denom *= scale_factor_;
|
||||||
|
|
||||||
BOOST_FOREACH ( layer const& lyr, m_.layers() )
|
for ( layer const& lyr : m_.layers() )
|
||||||
{
|
{
|
||||||
if (lyr.visible(scale_denom))
|
if (lyr.visible(scale_denom))
|
||||||
{
|
{
|
||||||
|
@ -341,7 +340,7 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
{
|
{
|
||||||
// check for styles needing compositing operations applied
|
// check for styles needing compositing operations applied
|
||||||
// https://github.com/mapnik/mapnik/issues/1477
|
// https://github.com/mapnik/mapnik/issues/1477
|
||||||
BOOST_FOREACH(std::string const& style_name, style_names)
|
for (std::string const& style_name : style_names)
|
||||||
{
|
{
|
||||||
boost::optional<feature_type_style const&> style=m_.find_style(style_name);
|
boost::optional<feature_type_style const&> style=m_.find_style(style_name);
|
||||||
if (!style)
|
if (!style)
|
||||||
|
@ -403,7 +402,7 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
|
|
||||||
std::vector<rule_cache> rule_caches;
|
std::vector<rule_cache> rule_caches;
|
||||||
// iterate through all named styles collecting active styles and attribute names
|
// iterate through all named styles collecting active styles and attribute names
|
||||||
BOOST_FOREACH(std::string const& style_name, style_names)
|
for (std::string const& style_name : style_names)
|
||||||
{
|
{
|
||||||
boost::optional<feature_type_style const&> style=m_.find_style(style_name);
|
boost::optional<feature_type_style const&> style=m_.find_style(style_name);
|
||||||
if (!style)
|
if (!style)
|
||||||
|
@ -444,29 +443,29 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
if (p.attribute_collection_policy() == COLLECT_ALL)
|
if (p.attribute_collection_policy() == COLLECT_ALL)
|
||||||
{
|
{
|
||||||
layer_descriptor lay_desc = ds->get_descriptor();
|
layer_descriptor lay_desc = ds->get_descriptor();
|
||||||
BOOST_FOREACH(attribute_descriptor const& desc, lay_desc.get_descriptors())
|
for (attribute_descriptor const& desc : lay_desc.get_descriptors())
|
||||||
{
|
{
|
||||||
q.add_property_name(desc.get_name());
|
q.add_property_name(desc.get_name());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(std::string const& name, names)
|
for (std::string const& name : names)
|
||||||
{
|
{
|
||||||
q.add_property_name(name);
|
q.add_property_name(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update filter_factor for all enabled raster layers.
|
// Update filter_factor for all enabled raster layers.
|
||||||
BOOST_FOREACH (feature_type_style const* style, active_styles)
|
for (feature_type_style const* style : active_styles)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(rule const& r, style->get_rules())
|
for (rule const& r : style->get_rules())
|
||||||
{
|
{
|
||||||
if (r.active(scale_denom) &&
|
if (r.active(scale_denom) &&
|
||||||
ds->type() == datasource::Raster &&
|
ds->type() == datasource::Raster &&
|
||||||
ds->params().get<double>("filter_factor",0.0) == 0.0)
|
ds->params().get<double>("filter_factor",0.0) == 0.0)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH (rule::symbolizers::value_type sym, r.get_symbolizers())
|
for (rule::symbolizers::value_type sym : r.get_symbolizers())
|
||||||
{
|
{
|
||||||
// if multiple raster symbolizers, last will be respected
|
// if multiple raster symbolizers, last will be respected
|
||||||
// should we warn or throw?
|
// should we warn or throw?
|
||||||
|
@ -503,7 +502,7 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
// We're at a value boundary, so render what we have
|
// We're at a value boundary, so render what we have
|
||||||
// up to this point.
|
// up to this point.
|
||||||
int i = 0;
|
int i = 0;
|
||||||
BOOST_FOREACH (feature_type_style const* style, active_styles)
|
for (feature_type_style const* style : active_styles)
|
||||||
{
|
{
|
||||||
render_style(lay, p, style, rule_caches[i], style_names[i],
|
render_style(lay, p, style, rule_caches[i], style_names[i],
|
||||||
cache.features(q), prj_trans);
|
cache.features(q), prj_trans);
|
||||||
|
@ -516,7 +515,7 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
}
|
}
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
BOOST_FOREACH (feature_type_style const* style, active_styles)
|
for (feature_type_style const* style : active_styles)
|
||||||
{
|
{
|
||||||
render_style(lay, p, style, rule_caches[i], style_names[i],
|
render_style(lay, p, style, rule_caches[i], style_names[i],
|
||||||
cache.features(q), prj_trans);
|
cache.features(q), prj_trans);
|
||||||
|
@ -537,18 +536,18 @@ void feature_style_processor<Processor>::apply_to_layer(layer const& lay, Proces
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int i = 0;
|
int i = 0;
|
||||||
BOOST_FOREACH (feature_type_style const* style, active_styles)
|
for (feature_type_style const* style : active_styles)
|
||||||
{
|
{
|
||||||
render_style(lay, p, style, rule_caches[i], style_names[i],
|
render_style(lay, p, style, rule_caches[i], style_names[i],
|
||||||
cache.features(q), prj_trans);
|
cache.features(q), prj_trans);
|
||||||
i++;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// We only have a single style and no grouping.
|
// We only have a single style and no grouping.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
BOOST_FOREACH (feature_type_style const* style, active_styles)
|
for (feature_type_style const* style : active_styles)
|
||||||
{
|
{
|
||||||
render_style(lay, p, style, rule_caches[i], style_names[i],
|
render_style(lay, p, style, rule_caches[i], style_names[i],
|
||||||
ds->features(q), prj_trans);
|
ds->features(q), prj_trans);
|
||||||
|
@ -603,7 +602,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
bool do_else = true;
|
bool do_else = true;
|
||||||
bool do_also = false;
|
bool do_also = false;
|
||||||
|
|
||||||
BOOST_FOREACH(rule const* r, rc.get_if_rules() )
|
for (rule const* r : rc.get_if_rules() )
|
||||||
{
|
{
|
||||||
expression_ptr const& expr=r->get_filter();
|
expression_ptr const& expr=r->get_filter();
|
||||||
value_type result = boost::apply_visitor(evaluate<Feature,value_type>(*feature),*expr);
|
value_type result = boost::apply_visitor(evaluate<Feature,value_type>(*feature),*expr);
|
||||||
|
@ -624,7 +623,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
if(!p.process(symbols,*feature,prj_trans))
|
if(!p.process(symbols,*feature,prj_trans))
|
||||||
{
|
{
|
||||||
|
|
||||||
BOOST_FOREACH (symbolizer const& sym, symbols)
|
for (symbolizer const& sym : symbols)
|
||||||
{
|
{
|
||||||
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
||||||
}
|
}
|
||||||
|
@ -639,7 +638,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
}
|
}
|
||||||
if (do_else)
|
if (do_else)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH( rule const* r, rc.get_else_rules() )
|
for (rule const* r : rc.get_else_rules() )
|
||||||
{
|
{
|
||||||
#if defined(RENDERING_STATS)
|
#if defined(RENDERING_STATS)
|
||||||
feat_processed = true;
|
feat_processed = true;
|
||||||
|
@ -652,7 +651,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
// process one by one.
|
// process one by one.
|
||||||
if(!p.process(symbols,*feature,prj_trans))
|
if(!p.process(symbols,*feature,prj_trans))
|
||||||
{
|
{
|
||||||
BOOST_FOREACH (symbolizer const& sym, symbols)
|
for (symbolizer const& sym : symbols)
|
||||||
{
|
{
|
||||||
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
||||||
}
|
}
|
||||||
|
@ -661,7 +660,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
}
|
}
|
||||||
if (do_also)
|
if (do_also)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH( rule const* r, rc.get_also_rules() )
|
for ( rule const* r : rc.get_also_rules() )
|
||||||
{
|
{
|
||||||
#if defined(RENDERING_STATS)
|
#if defined(RENDERING_STATS)
|
||||||
feat_processed = true;
|
feat_processed = true;
|
||||||
|
@ -674,7 +673,7 @@ void feature_style_processor<Processor>::render_style(
|
||||||
// process one by one.
|
// process one by one.
|
||||||
if(!p.process(symbols,*feature,prj_trans))
|
if(!p.process(symbols,*feature,prj_trans))
|
||||||
{
|
{
|
||||||
BOOST_FOREACH (symbolizer const& sym, symbols)
|
for (symbolizer const& sym : symbols)
|
||||||
{
|
{
|
||||||
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
boost::apply_visitor(symbol_dispatch(p,*feature,prj_trans),sym);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/ptr_container/ptr_vector.hpp>
|
#include <boost/ptr_container/ptr_vector.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#ifdef MAPNIK_THREADSAFE
|
#ifdef MAPNIK_THREADSAFE
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
@ -194,7 +194,7 @@ public:
|
||||||
{
|
{
|
||||||
std::vector<std::string> const& names = fset.get_face_names();
|
std::vector<std::string> const& names = fset.get_face_names();
|
||||||
face_set_ptr face_set = boost::make_shared<font_face_set>();
|
face_set_ptr face_set = boost::make_shared<font_face_set>();
|
||||||
BOOST_FOREACH( std::string const& name, names)
|
for ( std::string const& name : names)
|
||||||
{
|
{
|
||||||
face_ptr face = get_face(name);
|
face_ptr face = get_face(name);
|
||||||
if (face)
|
if (face)
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
#include <mapnik/geom_util.hpp>
|
#include <mapnik/geom_util.hpp>
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
namespace mapnik {
|
namespace mapnik {
|
||||||
class hit_test_filter
|
class hit_test_filter
|
||||||
|
@ -40,7 +40,7 @@ public:
|
||||||
|
|
||||||
bool pass(Feature & feature)
|
bool pass(Feature & feature)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (label::hit_test(geom, x_,y_,tol_))
|
if (label::hit_test(geom, x_,y_,tol_))
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <boost/variant/static_visitor.hpp>
|
#include <boost/variant/static_visitor.hpp>
|
||||||
#include <boost/gil/gil_all.hpp>
|
#include <boost/gil/gil_all.hpp>
|
||||||
#include <boost/concept_check.hpp>
|
#include <boost/concept_check.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// agg
|
// agg
|
||||||
#include "agg_basics.h"
|
#include "agg_basics.h"
|
||||||
|
@ -417,7 +417,7 @@ void apply_filter(Src & src, colorize_alpha const& op)
|
||||||
|
|
||||||
double step = 1.0/(size-1);
|
double step = 1.0/(size-1);
|
||||||
double offset = 0.0;
|
double offset = 0.0;
|
||||||
BOOST_FOREACH( mapnik::filter::color_stop const& stop, op)
|
for ( mapnik::filter::color_stop const& stop : op)
|
||||||
{
|
{
|
||||||
mapnik::color const& c = stop.color;
|
mapnik::color const& c = stop.color;
|
||||||
double stop_offset = stop.offset;
|
double stop_offset = stop.offset;
|
||||||
|
|
|
@ -490,7 +490,7 @@ void apply_markers_multi(feature_impl & feature, Converter& converter, markers_s
|
||||||
// TODO: consider using true area for polygon types
|
// TODO: consider using true area for polygon types
|
||||||
double maxarea = 0;
|
double maxarea = 0;
|
||||||
geometry_type* largest = 0;
|
geometry_type* largest = 0;
|
||||||
BOOST_FOREACH(geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
const box2d<double>& env = geom.envelope();
|
const box2d<double>& env = geom.envelope();
|
||||||
double area = env.width() * env.height();
|
double area = env.width() * env.height();
|
||||||
|
@ -511,7 +511,7 @@ void apply_markers_multi(feature_impl & feature, Converter& converter, markers_s
|
||||||
{
|
{
|
||||||
MAPNIK_LOG_WARN(marker_symbolizer) << "marker_multi_policy != 'each' has no effect with marker_placement != 'point'";
|
MAPNIK_LOG_WARN(marker_symbolizer) << "marker_multi_policy != 'each' has no effect with marker_placement != 'point'";
|
||||||
}
|
}
|
||||||
BOOST_FOREACH(geometry_type & path, feature.paths())
|
for (geometry_type & path : feature.paths())
|
||||||
{
|
{
|
||||||
converter.apply(path);
|
converter.apply(path);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include <mapnik/geometry.hpp>
|
#include <mapnik/geometry.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/tuple/tuple.hpp>
|
#include <boost/tuple/tuple.hpp>
|
||||||
#include <boost/geometry.hpp>
|
#include <boost/geometry.hpp>
|
||||||
#include <boost/geometry/geometries/point_xy.hpp>
|
#include <boost/geometry/geometries/point_xy.hpp>
|
||||||
|
@ -189,10 +189,10 @@ private:
|
||||||
std::cerr << ex.what() << std::endl;
|
std::cerr << ex.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_FOREACH(polygon_2d const& poly, clipped_polygons)
|
for (polygon_2d const& poly : clipped_polygons)
|
||||||
{
|
{
|
||||||
bool move_to = true;
|
bool move_to = true;
|
||||||
BOOST_FOREACH(point_2d const& c, boost::geometry::exterior_ring(poly))
|
for (point_2d const& c : boost::geometry::exterior_ring(poly))
|
||||||
{
|
{
|
||||||
if (move_to)
|
if (move_to)
|
||||||
{
|
{
|
||||||
|
@ -206,10 +206,10 @@ private:
|
||||||
}
|
}
|
||||||
output_.close_path();
|
output_.close_path();
|
||||||
// interior rings
|
// interior rings
|
||||||
BOOST_FOREACH(polygon_2d::inner_container_type::value_type const& ring, boost::geometry::interior_rings(poly))
|
for (polygon_2d::inner_container_type::value_type const& ring : boost::geometry::interior_rings(poly))
|
||||||
{
|
{
|
||||||
move_to = true;
|
move_to = true;
|
||||||
BOOST_FOREACH(point_2d const& c, ring)
|
for (point_2d const& c : ring)
|
||||||
{
|
{
|
||||||
if (move_to)
|
if (move_to)
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include <mapnik/noncopyable.hpp>
|
#include <mapnik/noncopyable.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// agg
|
// agg
|
||||||
#include "agg_path_storage.h"
|
#include "agg_path_storage.h"
|
||||||
|
@ -138,7 +138,7 @@ public:
|
||||||
grad.get_control_points(x1,y1,x2,y2,radius);
|
grad.get_control_points(x1,y1,x2,y2,radius);
|
||||||
|
|
||||||
m_gradient_lut.remove_all();
|
m_gradient_lut.remove_all();
|
||||||
BOOST_FOREACH ( mapnik::stop_pair const& st, grad.get_stop_array() )
|
for ( mapnik::stop_pair const& st : grad.get_stop_array() )
|
||||||
{
|
{
|
||||||
mapnik::color const& stop_color = st.second;
|
mapnik::color const& stop_color = st.second;
|
||||||
unsigned r = stop_color.red();
|
unsigned r = stop_color.red();
|
||||||
|
|
|
@ -33,10 +33,10 @@
|
||||||
#include <mapnik/expression_evaluator.hpp>
|
#include <mapnik/expression_evaluator.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/variant/static_visitor.hpp>
|
#include <boost/variant/static_visitor.hpp>
|
||||||
#include <boost/variant/apply_visitor.hpp>
|
#include <boost/variant/apply_visitor.hpp>
|
||||||
|
#include <boost/range/adaptor/reversed.hpp>
|
||||||
// agg
|
// agg
|
||||||
#include <agg_trans_affine.h>
|
#include <agg_trans_affine.h>
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ struct transform_processor
|
||||||
{
|
{
|
||||||
attribute_collector<Container> collect(names);
|
attribute_collector<Container> collect(names);
|
||||||
|
|
||||||
BOOST_FOREACH (transform_node const& node, list)
|
for (transform_node const& node : list)
|
||||||
{
|
{
|
||||||
boost::apply_visitor(collect, *node);
|
boost::apply_visitor(collect, *node);
|
||||||
}
|
}
|
||||||
|
@ -205,7 +205,7 @@ struct transform_processor
|
||||||
MAPNIK_LOG_DEBUG(transform) << "transform: begin with " << to_string(matrix_node(tr));
|
MAPNIK_LOG_DEBUG(transform) << "transform: begin with " << to_string(matrix_node(tr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
BOOST_REVERSE_FOREACH (transform_node const& node, list)
|
for (transform_node const& node : boost::adaptors::reverse(list))
|
||||||
{
|
{
|
||||||
boost::apply_visitor(eval, *node);
|
boost::apply_visitor(eval, *node);
|
||||||
#ifdef MAPNIK_LOG
|
#ifdef MAPNIK_LOG
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
#include <boost/fusion/include/at_c.hpp>
|
#include <boost/fusion/include/at_c.hpp>
|
||||||
#include <boost/fusion/include/make_vector.hpp>
|
#include <boost/fusion/include/make_vector.hpp>
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/array.hpp>
|
#include <boost/array.hpp>
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/algorithm/string.hpp>
|
#include <boost/algorithm/string.hpp>
|
||||||
#include <boost/spirit/include/support_multi_pass.hpp>
|
#include <boost/spirit/include/support_multi_pass.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/geometry/geometries/box.hpp>
|
#include <boost/geometry/geometries/box.hpp>
|
||||||
#include <boost/geometry/geometries/geometries.hpp>
|
#include <boost/geometry/geometries/geometries.hpp>
|
||||||
#include <boost/geometry.hpp>
|
#include <boost/geometry.hpp>
|
||||||
|
@ -123,7 +123,7 @@ geojson_datasource::geojson_datasource(parameters const& params)
|
||||||
|
|
||||||
bool first = true;
|
bool first = true;
|
||||||
std::size_t count=0;
|
std::size_t count=0;
|
||||||
BOOST_FOREACH (mapnik::feature_ptr f, features_)
|
for (mapnik::feature_ptr f : features_)
|
||||||
{
|
{
|
||||||
mapnik::box2d<double> const& box = f->envelope();
|
mapnik::box2d<double> const& box = f->envelope();
|
||||||
if (first)
|
if (first)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/python/stl_iterator.hpp>
|
#include <boost/python/stl_iterator.hpp>
|
||||||
|
@ -26,7 +26,7 @@ python_datasource::python_datasource(parameters const& params)
|
||||||
factory_(*params.get<std::string>("factory", ""))
|
factory_(*params.get<std::string>("factory", ""))
|
||||||
{
|
{
|
||||||
// extract any remaining parameters as keyword args for the factory
|
// extract any remaining parameters as keyword args for the factory
|
||||||
BOOST_FOREACH(const mapnik::parameters::value_type& kv, params)
|
for (const mapnik::parameters::value_type& kv : params)
|
||||||
{
|
{
|
||||||
if((kv.first != "type") && (kv.first != "factory"))
|
if((kv.first != "type") && (kv.first != "factory"))
|
||||||
{
|
{
|
||||||
|
@ -73,7 +73,7 @@ python_datasource::python_datasource(parameters const& params)
|
||||||
// prepare the arguments
|
// prepare the arguments
|
||||||
boost::python::dict kwargs;
|
boost::python::dict kwargs;
|
||||||
typedef std::map<std::string, std::string>::value_type kv_type;
|
typedef std::map<std::string, std::string>::value_type kv_type;
|
||||||
BOOST_FOREACH(const kv_type& kv, kwargs_)
|
for (kv_type const& kv : kwargs_)
|
||||||
{
|
{
|
||||||
kwargs[boost::python::str(kv.first)] = boost::python::str(kv.second);
|
kwargs[boost::python::str(kv.first)] = boost::python::str(kv.second);
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,7 +265,7 @@ void agg_renderer<T>::end_style_processing(feature_type_style const& st)
|
||||||
{
|
{
|
||||||
blend_from = true;
|
blend_from = true;
|
||||||
mapnik::filter::filter_visitor<image_32> visitor(*current_buffer_);
|
mapnik::filter::filter_visitor<image_32> visitor(*current_buffer_);
|
||||||
BOOST_FOREACH(mapnik::filter::filter_type const& filter_tag, st.image_filters())
|
for (mapnik::filter::filter_type const& filter_tag : st.image_filters())
|
||||||
{
|
{
|
||||||
boost::apply_visitor(visitor, filter_tag);
|
boost::apply_visitor(visitor, filter_tag);
|
||||||
}
|
}
|
||||||
|
@ -282,7 +282,7 @@ void agg_renderer<T>::end_style_processing(feature_type_style const& st)
|
||||||
}
|
}
|
||||||
// apply any 'direct' image filters
|
// apply any 'direct' image filters
|
||||||
mapnik::filter::filter_visitor<image_32> visitor(pixmap_);
|
mapnik::filter::filter_visitor<image_32> visitor(pixmap_);
|
||||||
BOOST_FOREACH(mapnik::filter::filter_type const& filter_tag, st.direct_image_filters())
|
for (mapnik::filter::filter_type const& filter_tag : st.direct_image_filters())
|
||||||
{
|
{
|
||||||
boost::apply_visitor(visitor, filter_tag);
|
boost::apply_visitor(visitor, filter_tag);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
#include "agg_conv_clip_polyline.h"
|
#include "agg_conv_clip_polyline.h"
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ void agg_renderer<T>::process(line_pattern_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH(geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 1)
|
if (geom.size() > 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
#include "agg_rasterizer_outline_aa.h"
|
#include "agg_rasterizer_outline_aa.h"
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -129,7 +129,7 @@ void agg_renderer<T>::process(line_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 1)
|
if (geom.size() > 1)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +152,7 @@ void agg_renderer<T>::process(line_symbolizer const& sym,
|
||||||
if (stroke_.has_dash()) converter.set<dash_tag>();
|
if (stroke_.has_dash()) converter.set<dash_tag>();
|
||||||
converter.set<stroke_tag>(); //always stroke
|
converter.set<stroke_tag>(); //always stroke
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 1)
|
if (geom.size() > 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
|
@ -157,7 +157,7 @@ void agg_renderer<T>::process(polygon_pattern_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
|
@ -68,7 +68,7 @@ void agg_renderer<T>::process(polygon_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -332,7 +332,7 @@ void cairo_renderer_base::process(polygon_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
@ -495,7 +495,7 @@ void cairo_renderer_base::process(line_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for (geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 1)
|
if (geom.size() > 1)
|
||||||
{
|
{
|
||||||
|
@ -869,7 +869,7 @@ void cairo_renderer_base::process(polygon_pattern_symbolizer const& sym,
|
||||||
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
if (sym.simplify_tolerance() > 0.0) converter.set<simplify_tag>(); // optional simplify converter
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/optional.hpp>
|
#include <boost/optional.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
namespace mapnik { namespace util {
|
namespace mapnik { namespace util {
|
||||||
|
@ -98,12 +98,12 @@ namespace mapnik { namespace util {
|
||||||
|
|
||||||
// fontsets
|
// fontsets
|
||||||
typedef std::map<std::string,font_set> fontsets;
|
typedef std::map<std::string,font_set> fontsets;
|
||||||
BOOST_FOREACH ( fontsets::value_type const& kv,map_in.fontsets())
|
for (fontsets::value_type const& kv : map_in.fontsets())
|
||||||
{
|
{
|
||||||
map_out.insert_fontset(kv.first,kv.second);
|
map_out.insert_fontset(kv.first,kv.second);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_FOREACH ( layer const& lyr_in, map_in.layers())
|
for ( layer const& lyr_in : map_in.layers())
|
||||||
{
|
{
|
||||||
layer lyr_out(lyr_in);
|
layer lyr_out(lyr_in);
|
||||||
datasource_ptr ds_in = lyr_in.datasource();
|
datasource_ptr ds_in = lyr_in.datasource();
|
||||||
|
@ -124,7 +124,7 @@ namespace mapnik { namespace util {
|
||||||
typedef style_cont::value_type value_type;
|
typedef style_cont::value_type value_type;
|
||||||
|
|
||||||
style_cont const& styles = map_in.styles();
|
style_cont const& styles = map_in.styles();
|
||||||
BOOST_FOREACH ( value_type const& kv, styles )
|
for ( value_type const& kv : styles )
|
||||||
{
|
{
|
||||||
feature_type_style const& style_in = kv.second;
|
feature_type_style const& style_in = kv.second;
|
||||||
feature_type_style style_out(style_in,true); // deep copy
|
feature_type_style style_out(style_in,true); // deep copy
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <mapnik/rule.hpp>
|
#include <mapnik/rule.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
namespace mapnik
|
namespace mapnik
|
||||||
{
|
{
|
||||||
|
@ -91,7 +91,7 @@ rules& feature_type_style::get_rules_nonconst()
|
||||||
|
|
||||||
bool feature_type_style::active(double scale_denom) const
|
bool feature_type_style::active(double scale_denom) const
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(rule const& r, rules_)
|
for (rule const& r : rules_)
|
||||||
{
|
{
|
||||||
if (r.active(scale_denom))
|
if (r.active(scale_denom))
|
||||||
{
|
{
|
||||||
|
|
|
@ -280,7 +280,7 @@ font_face_set::size_type font_face_set::size() const
|
||||||
|
|
||||||
glyph_ptr font_face_set::get_glyph(unsigned c) const
|
glyph_ptr font_face_set::get_glyph(unsigned c) const
|
||||||
{
|
{
|
||||||
BOOST_FOREACH ( face_ptr const& face, faces_)
|
for ( face_ptr const& face : faces_)
|
||||||
{
|
{
|
||||||
FT_UInt g = face->get_char(c);
|
FT_UInt g = face->get_char(c);
|
||||||
if (g) return boost::make_shared<font_glyph>(face, g);
|
if (g) return boost::make_shared<font_glyph>(face, g);
|
||||||
|
@ -387,7 +387,7 @@ void font_face_set::get_string_info(string_info & info, UnicodeString const& ust
|
||||||
|
|
||||||
void font_face_set::set_pixel_sizes(unsigned size)
|
void font_face_set::set_pixel_sizes(unsigned size)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH ( face_ptr const& face, faces_)
|
for ( face_ptr const& face : faces_)
|
||||||
{
|
{
|
||||||
face->set_pixel_sizes(size);
|
face->set_pixel_sizes(size);
|
||||||
}
|
}
|
||||||
|
@ -395,7 +395,7 @@ void font_face_set::set_pixel_sizes(unsigned size)
|
||||||
|
|
||||||
void font_face_set::set_character_sizes(double size)
|
void font_face_set::set_character_sizes(double size)
|
||||||
{
|
{
|
||||||
BOOST_FOREACH ( face_ptr const& face, faces_)
|
for ( face_ptr const& face : faces_)
|
||||||
{
|
{
|
||||||
face->set_character_sizes(size);
|
face->set_character_sizes(size);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/property_tree/ptree.hpp>
|
#include <boost/property_tree/ptree.hpp>
|
||||||
|
|
||||||
namespace mapnik {
|
namespace mapnik {
|
||||||
|
@ -36,7 +36,7 @@ namespace formatting {
|
||||||
|
|
||||||
void list_node::to_xml(boost::property_tree::ptree & xml) const
|
void list_node::to_xml(boost::property_tree::ptree & xml) const
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(node_ptr const& node, children_)
|
for (node_ptr const& node : children_)
|
||||||
{
|
{
|
||||||
node->to_xml(xml);
|
node->to_xml(xml);
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ void list_node::to_xml(boost::property_tree::ptree & xml) const
|
||||||
|
|
||||||
void list_node::apply(char_properties const& p, feature_impl const& feature, processed_text &output) const
|
void list_node::apply(char_properties const& p, feature_impl const& feature, processed_text &output) const
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(node_ptr const& node, children_)
|
for (node_ptr const& node : children_)
|
||||||
{
|
{
|
||||||
node->apply(p, feature, output);
|
node->apply(p, feature, output);
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ void list_node::apply(char_properties const& p, feature_impl const& feature, pro
|
||||||
|
|
||||||
void list_node::add_expressions(expression_set &output) const
|
void list_node::add_expressions(expression_set &output) const
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(node_ptr const& node, children_)
|
for (node_ptr const& node : children_)
|
||||||
{
|
{
|
||||||
node->add_expressions(output);
|
node->add_expressions(output);
|
||||||
}
|
}
|
||||||
|
@ -81,4 +81,3 @@ std::vector<node_ptr> const& list_node::get_children() const
|
||||||
}
|
}
|
||||||
} // ns mapnik
|
} // ns mapnik
|
||||||
} // ns formatting
|
} // ns formatting
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "agg_conv_dash.h"
|
#include "agg_conv_dash.h"
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -96,7 +96,7 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
|
||||||
if (stroke_.has_dash()) converter.set<dash_tag>();
|
if (stroke_.has_dash()) converter.set<dash_tag>();
|
||||||
converter.set<stroke_tag>(); //always stroke
|
converter.set<stroke_tag>(); //always stroke
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 1)
|
if (geom.size() > 1)
|
||||||
{
|
{
|
||||||
|
@ -119,4 +119,3 @@ template void grid_renderer<grid>::process(line_symbolizer const&,
|
||||||
proj_transform const&);
|
proj_transform const&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
|
@ -64,7 +64,7 @@ void grid_renderer<T>::process(polygon_pattern_symbolizer const& sym,
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
@ -96,4 +96,3 @@ template void grid_renderer<grid>::process(polygon_pattern_symbolizer const&,
|
||||||
proj_transform const&);
|
proj_transform const&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// mapnik
|
// mapnik
|
||||||
#include <mapnik/feature.hpp>
|
#include <mapnik/feature.hpp>
|
||||||
|
@ -69,7 +69,7 @@ void grid_renderer<T>::process(polygon_symbolizer const& sym,
|
||||||
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
if (sym.smooth() > 0.0) converter.set<smooth_tag>(); // optional smooth converter
|
||||||
|
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, feature.paths())
|
for ( geometry_type & geom : feature.paths())
|
||||||
{
|
{
|
||||||
if (geom.size() > 2)
|
if (geom.size() > 2)
|
||||||
{
|
{
|
||||||
|
@ -98,4 +98,3 @@ template void grid_renderer<grid>::process(polygon_symbolizer const&,
|
||||||
proj_transform const&);
|
proj_transform const&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/tokenizer.hpp>
|
#include <boost/tokenizer.hpp>
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
|
@ -149,7 +149,7 @@ void handle_png_options(std::string const& type,
|
||||||
if (type.length() > 6){
|
if (type.length() > 6){
|
||||||
boost::char_separator<char> sep(":");
|
boost::char_separator<char> sep(":");
|
||||||
boost::tokenizer< boost::char_separator<char> > tokens(type, sep);
|
boost::tokenizer< boost::char_separator<char> > tokens(type, sep);
|
||||||
BOOST_FOREACH(std::string t, tokens)
|
for (std::string const& t : tokens)
|
||||||
{
|
{
|
||||||
if (t == "png" || t == "png24" || t == "png32")
|
if (t == "png" || t == "png24" || t == "png32")
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/variant.hpp>
|
#include <boost/variant.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
|
|
||||||
namespace mapnik {
|
namespace mapnik {
|
||||||
|
@ -125,7 +125,7 @@ std::string path_processor::evaluate(path_expression const& path,feature_impl co
|
||||||
{
|
{
|
||||||
std::string out;
|
std::string out;
|
||||||
path_processor_detail::path_visitor_ eval(out,f);
|
path_processor_detail::path_visitor_ eval(out,f);
|
||||||
BOOST_FOREACH( mapnik::path_component const& token, path)
|
for ( mapnik::path_component const& token : path)
|
||||||
boost::apply_visitor(eval,token);
|
boost::apply_visitor(eval,token);
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ std::string path_processor::to_string(path_expression const& path)
|
||||||
{
|
{
|
||||||
std::string str;
|
std::string str;
|
||||||
path_processor_detail::to_string_ visitor(str);
|
path_processor_detail::to_string_ visitor(str);
|
||||||
BOOST_FOREACH( mapnik::path_component const& token, path)
|
for ( mapnik::path_component const& token : path)
|
||||||
boost::apply_visitor(visitor,token);
|
boost::apply_visitor(visitor,token);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ std::string path_processor::to_string(path_expression const& path)
|
||||||
void path_processor::collect_attributes(path_expression const& path, std::set<std::string>& names)
|
void path_processor::collect_attributes(path_expression const& path, std::set<std::string>& names)
|
||||||
{
|
{
|
||||||
path_processor_detail::collect_ visitor(names);
|
path_processor_detail::collect_ visitor(names);
|
||||||
BOOST_FOREACH( mapnik::path_component const& token, path)
|
for ( mapnik::path_component const& token : path)
|
||||||
boost::apply_visitor(visitor,token);
|
boost::apply_visitor(visitor,token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/ptr_container/ptr_vector.hpp>
|
#include <boost/ptr_container/ptr_vector.hpp>
|
||||||
#include <boost/tuple/tuple.hpp>
|
#include <boost/tuple/tuple.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
//stl
|
//stl
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -501,7 +501,7 @@ void placement_finder<DetectorT>::find_point_placement(double label_x,
|
||||||
// check the placement of any additional envelopes
|
// check the placement of any additional envelopes
|
||||||
if (!p.allow_overlap && !additional_boxes_.empty())
|
if (!p.allow_overlap && !additional_boxes_.empty())
|
||||||
{
|
{
|
||||||
BOOST_FOREACH(box2d<double> const& box, additional_boxes_)
|
for (box2d<double> const& box : additional_boxes_)
|
||||||
{
|
{
|
||||||
box2d<double> pt(box.minx() + current_placement->center.x,
|
box2d<double> pt(box.minx() + current_placement->center.x,
|
||||||
box.miny() + current_placement->center.y,
|
box.miny() + current_placement->center.y,
|
||||||
|
|
|
@ -36,7 +36,7 @@ bool svg_renderer<OutputIterator>::process(rule::symbolizers const& syms,
|
||||||
// process each symbolizer to collect its (path) information.
|
// process each symbolizer to collect its (path) information.
|
||||||
// path information (attributes from line_ and polygon_ symbolizers)
|
// path information (attributes from line_ and polygon_ symbolizers)
|
||||||
// is collected with the path_attributes_ data member.
|
// is collected with the path_attributes_ data member.
|
||||||
BOOST_FOREACH(symbolizer const& sym, syms)
|
for (symbolizer const& sym : syms)
|
||||||
{
|
{
|
||||||
boost::apply_visitor(symbol_dispatch(*this, feature, prj_trans), sym);
|
boost::apply_visitor(symbol_dispatch(*this, feature, prj_trans), sym);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
#include <boost/spirit/include/phoenix_core.hpp>
|
#include <boost/spirit/include/phoenix_core.hpp>
|
||||||
#include <boost/spirit/include/phoenix_operator.hpp>
|
#include <boost/spirit/include/phoenix_operator.hpp>
|
||||||
#include <boost/fusion/include/std_pair.hpp>
|
#include <boost/fusion/include/std_pair.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
#include <boost/algorithm/string/predicate.hpp>
|
#include <boost/algorithm/string/predicate.hpp>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -430,7 +430,7 @@ void parse_attr(svg_parser & parser, xmlTextReaderPtr reader)
|
||||||
typedef cont_type::value_type value_type;
|
typedef cont_type::value_type value_type;
|
||||||
cont_type vec;
|
cont_type vec;
|
||||||
parse_style((const char*)value, vec);
|
parse_style((const char*)value, vec);
|
||||||
BOOST_FOREACH(value_type kv , vec )
|
for (value_type kv : vec )
|
||||||
{
|
{
|
||||||
parse_attr(parser,BAD_CAST kv.first.c_str(),BAD_CAST kv.second.c_str());
|
parse_attr(parser,BAD_CAST kv.first.c_str(),BAD_CAST kv.second.c_str());
|
||||||
}
|
}
|
||||||
|
@ -792,7 +792,7 @@ void parse_gradient_stop(svg_parser & parser, xmlTextReaderPtr reader)
|
||||||
cont_type vec;
|
cont_type vec;
|
||||||
parse_style((const char*)value, vec);
|
parse_style((const char*)value, vec);
|
||||||
|
|
||||||
BOOST_FOREACH(value_type kv , vec )
|
for (value_type kv : vec )
|
||||||
{
|
{
|
||||||
if (kv.first == "stop-color")
|
if (kv.first == "stop-color")
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <mapnik/transform_expression.hpp>
|
#include <mapnik/transform_expression.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
@ -132,7 +132,7 @@ std::string to_expression_string(transform_list const& list)
|
||||||
std::streamsize first = 1;
|
std::streamsize first = 1;
|
||||||
transform_node_to_expression_string to_string(os);
|
transform_node_to_expression_string to_string(os);
|
||||||
|
|
||||||
BOOST_FOREACH (transform_node const& node, list)
|
for (transform_node const& node : list)
|
||||||
{
|
{
|
||||||
os.write(" ", first ? (first = 0) : 1);
|
os.write(" ", first ? (first = 0) : 1);
|
||||||
boost::apply_visitor(to_string, *node);
|
boost::apply_visitor(to_string, *node);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
// boost
|
// boost
|
||||||
#include <boost/detail/lightweight_test.hpp>
|
#include <boost/detail/lightweight_test.hpp>
|
||||||
#include <boost/algorithm/string.hpp>
|
#include <boost/algorithm/string.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
@ -52,7 +52,7 @@ void parse_geom(mapnik::geometry_type & geom,
|
||||||
std::string const& geom_string) {
|
std::string const& geom_string) {
|
||||||
std::vector<std::string> vertices;
|
std::vector<std::string> vertices;
|
||||||
boost::split(vertices, geom_string, boost::is_any_of(","));
|
boost::split(vertices, geom_string, boost::is_any_of(","));
|
||||||
BOOST_FOREACH(std::string const& vert, vertices)
|
for (std::string const& vert : vertices)
|
||||||
{
|
{
|
||||||
std::vector<std::string> commands;
|
std::vector<std::string> commands;
|
||||||
boost::split(commands, vert, boost::is_any_of(" "));
|
boost::split(commands, vert, boost::is_any_of(" "));
|
||||||
|
|
|
@ -68,7 +68,7 @@ boost::optional<std::string> linestring_bbox_clipping(mapnik::box2d<double> bbox
|
||||||
throw std::runtime_error("Failed to parse WKT");
|
throw std::runtime_error("Failed to parse WKT");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, p)
|
for (geometry_type & geom : p)
|
||||||
{
|
{
|
||||||
converter.apply(geom);
|
converter.apply(geom);
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ boost::optional<std::string> polygon_bbox_clipping(mapnik::box2d<double> bbox,
|
||||||
throw std::runtime_error("Failed to parse WKT");
|
throw std::runtime_error("Failed to parse WKT");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_FOREACH( geometry_type & geom, p)
|
for (geometry_type & geom : p)
|
||||||
{
|
{
|
||||||
converter.apply(geom);
|
converter.apply(geom);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include <mapnik/image_reader.hpp>
|
#include <mapnik/image_reader.hpp>
|
||||||
#include <mapnik/scale_denominator.hpp>
|
#include <mapnik/scale_denominator.hpp>
|
||||||
#include <mapnik/feature_style_processor.hpp>
|
#include <mapnik/feature_style_processor.hpp>
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
bool compare_images(std::string const& src_fn,std::string const& dest_fn)
|
bool compare_images(std::string const& src_fn,std::string const& dest_fn)
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ int main( int, char*[] )
|
||||||
mapnik::projection map_proj(m.srs(),true);
|
mapnik::projection map_proj(m.srs(),true);
|
||||||
double scale_denom = mapnik::scale_denominator(req.scale(),map_proj.is_geographic());
|
double scale_denom = mapnik::scale_denominator(req.scale(),map_proj.is_geographic());
|
||||||
scale_denom *= scale_factor;
|
scale_denom *= scale_factor;
|
||||||
BOOST_FOREACH ( mapnik::layer const& lyr, m.layers() )
|
for (mapnik::layer const& lyr : m.layers() )
|
||||||
{
|
{
|
||||||
if (lyr.visible(scale_denom))
|
if (lyr.visible(scale_denom))
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <mapnik/datasource_cache.hpp>
|
#include <mapnik/datasource_cache.hpp>
|
||||||
#include <mapnik/util/geometry_to_wkb.hpp>
|
#include <mapnik/util/geometry_to_wkb.hpp>
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, char ** argv )
|
int main (int argc, char ** argv )
|
||||||
|
@ -70,7 +70,7 @@ int main (int argc, char ** argv )
|
||||||
|
|
||||||
mapnik::query q(ds->envelope());
|
mapnik::query q(ds->envelope());
|
||||||
mapnik::layer_descriptor layer_desc = ds->get_descriptor();
|
mapnik::layer_descriptor layer_desc = ds->get_descriptor();
|
||||||
BOOST_FOREACH ( mapnik::attribute_descriptor const& attr_desc, layer_desc.get_descriptors())
|
for (mapnik::attribute_descriptor const& attr_desc : layer_desc.get_descriptors())
|
||||||
{
|
{
|
||||||
q.add_property_name(attr_desc.get_name());
|
q.add_property_name(attr_desc.get_name());
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ int main (int argc, char ** argv )
|
||||||
{
|
{
|
||||||
std::cerr << *f << std::endl;
|
std::cerr << *f << std::endl;
|
||||||
boost::ptr_vector<mapnik::geometry_type> & paths = f->paths();
|
boost::ptr_vector<mapnik::geometry_type> & paths = f->paths();
|
||||||
BOOST_FOREACH ( mapnik::geometry_type const& geom, paths)
|
for (mapnik::geometry_type const& geom : paths)
|
||||||
{
|
{
|
||||||
// NDR
|
// NDR
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue