From d027ed67c7c26d5830c2c1b7df1568f3d76fd9df Mon Sep 17 00:00:00 2001 From: artemp Date: Wed, 27 Jan 2016 14:50:17 +0100 Subject: [PATCH] more `const` strictness, update to work with latest `mapbox::variant/visitor-no-copy` branch --- deps/mapbox/variant | 2 +- include/mapnik/geometry_reprojection_impl.hpp | 34 +++++++++---------- include/mapnik/image_filter.hpp | 16 ++++----- .../apply_vertex_converter.hpp | 2 +- .../process_markers_symbolizer.hpp | 6 ++-- include/mapnik/transform_processor.hpp | 14 ++++---- include/mapnik/util/variant.hpp | 25 +++++++------- include/mapnik/vertex_processor.hpp | 20 +++++------ src/agg/agg_renderer.cpp | 12 +++---- src/agg/process_debug_symbolizer.cpp | 10 +++--- src/agg/process_line_pattern_symbolizer.cpp | 8 ++--- .../process_polygon_pattern_symbolizer.cpp | 6 ++-- src/cairo/cairo_renderer.cpp | 6 ++-- src/image_compositing.cpp | 8 ++--- src/image_copy.cpp | 8 ++--- src/image_util.cpp | 2 +- src/marker_cache.cpp | 6 ++-- src/warp.cpp | 4 +-- test/unit/geometry/geometry_equal.hpp | 20 +++++------ test/visual/runner.cpp | 11 +++--- utils/svg2png/svg2png.cpp | 6 ++-- 21 files changed, 113 insertions(+), 113 deletions(-) diff --git a/deps/mapbox/variant b/deps/mapbox/variant index 9afd64060..f7b63cc15 160000 --- a/deps/mapbox/variant +++ b/deps/mapbox/variant @@ -1 +1 @@ -Subproject commit 9afd6406065440e02b6bf42db4633b815846db0d +Subproject commit f7b63cc1501bf9d9f740e9a8957a25bc9be5f1ca diff --git a/include/mapnik/geometry_reprojection_impl.hpp b/include/mapnik/geometry_reprojection_impl.hpp index 867c0ba44..ff01bd451 100644 --- a/include/mapnik/geometry_reprojection_impl.hpp +++ b/include/mapnik/geometry_reprojection_impl.hpp @@ -178,12 +178,12 @@ struct geom_reproj_copy_visitor : proj_trans_(proj_trans), n_err_(n_err) {} - geometry operator() (geometry_empty const&) + geometry operator() (geometry_empty const&) const { return geometry_empty(); } - geometry operator() (point const& p) + geometry operator() (point const& p) const { geometry geom; // default empty unsigned int intial_err = n_err_; @@ -193,7 +193,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (line_string const& ls) + geometry operator() (line_string const& ls) const { geometry geom; // default empty unsigned int intial_err = n_err_; @@ -203,7 +203,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (polygon const& poly) + geometry operator() (polygon const& poly) const { geometry geom; // default empty polygon new_poly = reproject_internal(poly, proj_trans_, n_err_); @@ -212,7 +212,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (multi_point const& mp) + geometry operator() (multi_point const& mp) const { geometry geom; // default empty multi_point new_mp = reproject_internal(mp, proj_trans_, n_err_); @@ -221,7 +221,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (multi_line_string const& mls) + geometry operator() (multi_line_string const& mls) const { geometry geom; // default empty multi_line_string new_mls = reproject_internal(mls, proj_trans_, n_err_); @@ -230,7 +230,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (multi_polygon const& mpoly) + geometry operator() (multi_polygon const& mpoly) const { geometry geom; // default empty multi_polygon new_mpoly = reproject_internal(mpoly, proj_trans_, n_err_); @@ -239,7 +239,7 @@ struct geom_reproj_copy_visitor return geom; } - geometry operator() (geometry_collection const& c) + geometry operator() (geometry_collection const& c) const { geometry geom; // default empty geometry_collection new_c = reproject_internal(c, proj_trans_, n_err_); @@ -284,15 +284,15 @@ struct geom_reproj_visitor { : proj_trans_(proj_trans) {} template - bool operator() (geometry & geom) + bool operator() (geometry & geom) const { return mapnik::util::apply_visitor((*this), geom); } - bool operator() (geometry_empty &) { return true; } + bool operator() (geometry_empty &) const { return true; } template - bool operator() (point & p) + bool operator() (point & p) const { if (!proj_trans_.forward(p)) { @@ -302,7 +302,7 @@ struct geom_reproj_visitor { } template - bool operator() (line_string & ls) + bool operator() (line_string & ls) const { if (proj_trans_.forward(ls) > 0) { @@ -312,7 +312,7 @@ struct geom_reproj_visitor { } template - bool operator() (polygon & poly) + bool operator() (polygon & poly) const { if (proj_trans_.forward(poly.exterior_ring) > 0) { @@ -330,13 +330,13 @@ struct geom_reproj_visitor { } template - bool operator() (multi_point & mp) + bool operator() (multi_point & mp) const { return (*this) (static_cast &>(mp)); } template - bool operator() (multi_line_string & mls) + bool operator() (multi_line_string & mls) const { for (auto & ls : mls) { @@ -349,7 +349,7 @@ struct geom_reproj_visitor { } template - bool operator() (multi_polygon & mpoly) + bool operator() (multi_polygon & mpoly) const { for (auto & poly : mpoly) { @@ -362,7 +362,7 @@ struct geom_reproj_visitor { } template - bool operator() (geometry_collection & c) + bool operator() (geometry_collection & c) const { for (auto & g : c) { diff --git a/include/mapnik/image_filter.hpp b/include/mapnik/image_filter.hpp index 62a3f3b5b..9b0b754cc 100644 --- a/include/mapnik/image_filter.hpp +++ b/include/mapnik/image_filter.hpp @@ -683,7 +683,7 @@ void color_blind_filter(Src & src, ColorBlindFilter const& op) using namespace boost::gil; rgba8_view_t src_view = rgba8_view(src); bool premultiplied = src.get_premultiplied(); - + for (std::ptrdiff_t y = 0; y < src_view.height(); ++y) { rgba8_view_t::x_iterator src_it = src_view.row_begin(static_cast(y)); @@ -738,7 +738,7 @@ void color_blind_filter(Src & src, ColorBlindFilter const& op) X = deviate_x * Y / deviate_y; Z = (1.0 - (deviate_x + deviate_y)) * Y / deviate_y; // Neutral grey calculated from luminance (in D65) - double neutral_X = 0.312713 * Y / 0.329016; + double neutral_X = 0.312713 * Y / 0.329016; double neutral_Z = 0.358271 * Y / 0.329016; // Difference between simulated color and neutral grey double diff_X = neutral_X - X; @@ -761,12 +761,12 @@ void color_blind_filter(Src & src, ColorBlindFilter const& op) // Convert to RGB color space dr = X * 3.24071 + Y * -1.53726 + Z * -0.498571; // XYZ->RGB (sRGB:D65) dg = X * -0.969258 + Y * 1.87599 + Z * 0.0415557; - db = X * 0.0556352 + Y * -0.203996 + Z * 1.05707; + db = X * 0.0556352 + Y * -0.203996 + Z * 1.05707; // Compensate simulated color towards a neutral fit in RGB space double fit_r = ((dr < 0.0 ? 0.0 : 1.0) - dr) / diff_r; double fit_g = ((dg < 0.0 ? 0.0 : 1.0) - dg) / diff_g; double fit_b = ((db < 0.0 ? 0.0 : 1.0) - db) / diff_b; - double adjust = std::max( (fit_r > 1.0 || fit_r < 0.0) ? 0.0 : fit_r, + double adjust = std::max( (fit_r > 1.0 || fit_r < 0.0) ? 0.0 : fit_r, (fit_g > 1.0 || fit_g < 0.0) ? 0.0 : fit_g ); adjust = std::max((fit_b > 1.0 || fit_b < 0.0) ? 0.0 : fit_b, adjust); @@ -777,7 +777,7 @@ void color_blind_filter(Src & src, ColorBlindFilter const& op) // Apply gamma correction dr = std::pow(dr, 1.0 / 2.2); dg = std::pow(dg, 1.0 / 2.2); - db = std::pow(db, 1.0 / 2.2); + db = std::pow(db, 1.0 / 2.2); // premultiply dr *= da; dg *= da; @@ -917,7 +917,7 @@ struct filter_visitor : src_(src) {} template - void operator () (T const& filter) + void operator () (T const& filter) const { apply_filter(src_, filter); } @@ -931,9 +931,9 @@ struct filter_radius_visitor filter_radius_visitor(int & radius) : radius_(radius) {} template - void operator () (T const& /*filter*/) {} + void operator () (T const& /*filter*/) const {} - void operator () (agg_stack_blur const& op) + void operator () (agg_stack_blur const& op) const { if (static_cast(op.rx) > radius_) radius_ = static_cast(op.rx); if (static_cast(op.ry) > radius_) radius_ = static_cast(op.ry); diff --git a/include/mapnik/renderer_common/apply_vertex_converter.hpp b/include/mapnik/renderer_common/apply_vertex_converter.hpp index de239c95b..503dc4176 100644 --- a/include/mapnik/renderer_common/apply_vertex_converter.hpp +++ b/include/mapnik/renderer_common/apply_vertex_converter.hpp @@ -31,7 +31,7 @@ struct apply_vertex_converter apply_vertex_converter(VertexConverter & converter, Processor & proc) : converter_(converter), proc_(proc) {} template - void operator() (Adapter const& adapter) const + void operator() (Adapter const& adapter) { converter_.apply(adapter, proc_); } diff --git a/include/mapnik/renderer_common/process_markers_symbolizer.hpp b/include/mapnik/renderer_common/process_markers_symbolizer.hpp index 1009d2fcf..66a002dab 100644 --- a/include/mapnik/renderer_common/process_markers_symbolizer.hpp +++ b/include/mapnik/renderer_common/process_markers_symbolizer.hpp @@ -62,9 +62,9 @@ struct render_marker_symbolizer_visitor clip_box_(clip_box), renderer_context_(renderer_context) {} - void operator() (marker_null const&) {} + void operator() (marker_null const&) const {} - void operator() (marker_svg const& mark) + void operator() (marker_svg const& mark) const { using namespace mapnik::svg; bool clip = get(sym_, feature_, common_.vars_); @@ -179,7 +179,7 @@ struct render_marker_symbolizer_visitor } } - void operator() (marker_rgba8 const& mark) + void operator() (marker_rgba8 const& mark) const { using namespace mapnik::svg; bool clip = get(sym_, feature_, common_.vars_); diff --git a/include/mapnik/transform_processor.hpp b/include/mapnik/transform_processor.hpp index bec6bff3b..2e4bfa3ed 100644 --- a/include/mapnik/transform_processor.hpp +++ b/include/mapnik/transform_processor.hpp @@ -111,11 +111,11 @@ struct transform_processor vars_(v), scale_factor_(scale_factor) {} - void operator() (identity_node const&) + void operator() (identity_node const&) const { } - void operator() (matrix_node const& node) + void operator() (matrix_node const& node) const { double a = eval(node.a_); // scale x; double b = eval(node.b_); @@ -126,21 +126,21 @@ struct transform_processor transform_.multiply(agg::trans_affine(a, b, c, d, e, f)); } - void operator() (translate_node const& node) + void operator() (translate_node const& node) const { double tx = eval(node.tx_) * scale_factor_; double ty = eval(node.ty_, 0.0) * scale_factor_; transform_.translate(tx, ty); } - void operator() (scale_node const& node) + void operator() (scale_node const& node) const { double sx = eval(node.sx_); double sy = eval(node.sy_, sx); transform_.scale(sx, sy); } - void operator() (rotate_node const& node) + void operator() (rotate_node const& node) const { double angle = deg2rad(eval(node.angle_)); double cx = eval(node.cx_, 0.0); @@ -150,7 +150,7 @@ struct transform_processor transform_.translate(cx, cy); } - void operator() (skewX_node const& node) + void operator() (skewX_node const& node) const { auto degrees = std::fmod(eval(node.angle_),90.0); if (degrees < -89.0) degrees = -89.0; @@ -159,7 +159,7 @@ struct transform_processor transform_.multiply(agg::trans_affine_skewing(angle, 0.0)); } - void operator() (skewY_node const& node) + void operator() (skewY_node const& node) const { auto degrees = std::fmod(eval(node.angle_),90.0); if (degrees < -89.0) degrees = -89.0; diff --git a/include/mapnik/util/variant.hpp b/include/mapnik/util/variant.hpp index 8473903e0..61832a0b7 100644 --- a/include/mapnik/util/variant.hpp +++ b/include/mapnik/util/variant.hpp @@ -46,30 +46,31 @@ public: // unary visitor interface // const -template -auto VARIANT_INLINE static apply_visitor(F f, V const& v) -> decltype(V::visit(v, f)) +template +auto VARIANT_INLINE static apply_visitor(F && f, V const& v) -> decltype(V::visit(v, f)) { - return V::visit(v, f); + return V::visit(v, std::forward(f)); } // non-const -template -auto VARIANT_INLINE static apply_visitor(F f, V & v) -> decltype(V::visit(v, f)) +template +auto VARIANT_INLINE static apply_visitor(F && f, V & v) -> decltype(V::visit(v, f)) { - return V::visit(v, f); + return V::visit(v, std::forward(f)); } // binary visitor interface // const -template -auto VARIANT_INLINE static apply_visitor(F f, V const& v0, V const& v1) -> decltype(V::binary_visit(v0, v1, f)) +template +auto VARIANT_INLINE static apply_visitor(F && f, V const& v0, V const& v1) -> decltype(V::binary_visit(v0, v1, f)) { - return V::binary_visit(v0, v1, f); + return V::binary_visit(v0, v1, std::forward(f)); } + // non-const -template -auto VARIANT_INLINE static apply_visitor(F f, V & v0, V & v1) -> decltype(V::binary_visit(v0, v1, f)) +template +auto VARIANT_INLINE static apply_visitor(F && f, V & v0, V & v1) -> decltype(V::binary_visit(v0, v1, f)) { - return V::binary_visit(v0, v1, f); + return V::binary_visit(v0, v1, std::forward(f)); } // getter interface diff --git a/include/mapnik/vertex_processor.hpp b/include/mapnik/vertex_processor.hpp index a3b63c133..7cd2c40a4 100644 --- a/include/mapnik/vertex_processor.hpp +++ b/include/mapnik/vertex_processor.hpp @@ -35,38 +35,38 @@ struct vertex_processor : proc_(proc) {} template - void operator() (Geometry const& geom) + void operator() (Geometry const& geom) const { util::apply_visitor(*this, geom); } - void operator() (geometry_empty const&) + void operator() (geometry_empty const&) const { // no-op } - + template - void operator() (point const& pt) + void operator() (point const& pt) const { point_vertex_adapter va(pt); proc_(va); } template - void operator() (line_string const& line) + void operator() (line_string const& line) const { line_string_vertex_adapter va(line); proc_(va); } template - void operator() (polygon const& poly) + void operator() (polygon const& poly) const { polygon_vertex_adapter va(poly); proc_(va); } template - void operator() (multi_point const& multi_pt) + void operator() (multi_point const& multi_pt) const { for (auto const& pt : multi_pt) { @@ -76,7 +76,7 @@ struct vertex_processor } template - void operator() (multi_line_string const& multi_line) + void operator() (multi_line_string const& multi_line) const { for (auto const& line : multi_line) { @@ -86,7 +86,7 @@ struct vertex_processor } template - void operator() (multi_polygon const& multi_poly) + void operator() (multi_polygon const& multi_poly) const { for ( auto const& poly : multi_poly) { @@ -96,7 +96,7 @@ struct vertex_processor } template - void operator() (geometry_collection const& collection) + void operator() (geometry_collection const& collection) const { for (auto const& geom : collection) { diff --git a/src/agg/agg_renderer.cpp b/src/agg/agg_renderer.cpp index 74e3c935b..9fbcdca4b 100644 --- a/src/agg/agg_renderer.cpp +++ b/src/agg/agg_renderer.cpp @@ -121,11 +121,11 @@ struct setup_agg_bg_visitor mode_(mode), opacity_(opacity) {} - void operator() (marker_null const&) {} + void operator() (marker_null const&) const {} - void operator() (marker_svg const&) {} + void operator() (marker_svg const&) const {} - void operator() (marker_rgba8 const& marker) + void operator() (marker_rgba8 const& marker) const { mapnik::image_rgba8 const& bg_image = marker.get_data(); std::size_t w = bg_image.width(); @@ -361,9 +361,9 @@ struct agg_render_marker_visitor opacity_(opacity), comp_op_(comp_op) {} - void operator() (marker_null const&) {} + void operator() (marker_null const&) const {} - void operator() (marker_svg const& marker) + void operator() (marker_svg const& marker) const { using color_type = agg::rgba8; using order_type = agg::order_rgba; @@ -414,7 +414,7 @@ struct agg_render_marker_visitor svg_renderer.render(*ras_ptr_, sl, renb, mtx, opacity_, bbox); } - void operator() (marker_rgba8 const& marker) + void operator() (marker_rgba8 const& marker) const { using color_type = agg::rgba8; using order_type = agg::order_rgba; diff --git a/src/agg/process_debug_symbolizer.cpp b/src/agg/process_debug_symbolizer.cpp index c56add951..2016c456d 100644 --- a/src/agg/process_debug_symbolizer.cpp +++ b/src/agg/process_debug_symbolizer.cpp @@ -165,12 +165,12 @@ struct RingRenderer { }; template -struct render_ring_visitor { - +struct render_ring_visitor +{ render_ring_visitor(RingRenderer & renderer) : renderer_(renderer) {} - void operator()(mapnik::geometry::multi_polygon const& geom) + void operator()(mapnik::geometry::multi_polygon const& geom) const { for (auto const& poly : geom) { @@ -178,7 +178,7 @@ struct render_ring_visitor { } } - void operator()(mapnik::geometry::polygon const& geom) + void operator()(mapnik::geometry::polygon const& geom) const { agg::rgba8 red(255,0,0,255); agg::rgba8 green(0,255,255,255); @@ -199,7 +199,7 @@ struct render_ring_visitor { } template - void operator()(GeomType const&) {} + void operator()(GeomType const&) const {} RingRenderer & renderer_; }; diff --git a/src/agg/process_line_pattern_symbolizer.cpp b/src/agg/process_line_pattern_symbolizer.cpp index 17ec5bbf0..f5045c5a3 100644 --- a/src/agg/process_line_pattern_symbolizer.cpp +++ b/src/agg/process_line_pattern_symbolizer.cpp @@ -71,9 +71,9 @@ struct agg_renderer_process_visitor_l feature_(feature), prj_trans_(prj_trans) {} - void operator() (marker_null const&) {} + void operator() (marker_null const&) const {} - void operator() (marker_svg const& marker) + void operator() (marker_svg const& marker) const { using color = agg::rgba8; using order = agg::order_rgba; @@ -147,7 +147,7 @@ struct agg_renderer_process_visitor_l mapnik::util::apply_visitor(vertex_processor_type(apply),feature_.get_geometry()); } - void operator() (marker_rgba8 const& marker) + void operator() (marker_rgba8 const& marker) const { using color = agg::rgba8; using order = agg::order_rgba; @@ -214,7 +214,7 @@ struct agg_renderer_process_visitor_l using apply_vertex_converter_type = detail::apply_vertex_converter; using vertex_processor_type = geometry::vertex_processor; apply_vertex_converter_type apply(converter, ras); - mapnik::util::apply_visitor(vertex_processor_type(apply),feature_.get_geometry()); + mapnik::util::apply_visitor(vertex_processor_type(apply), feature_.get_geometry()); } private: diff --git a/src/agg/process_polygon_pattern_symbolizer.cpp b/src/agg/process_polygon_pattern_symbolizer.cpp index fb00b2a00..8e340a9a8 100644 --- a/src/agg/process_polygon_pattern_symbolizer.cpp +++ b/src/agg/process_polygon_pattern_symbolizer.cpp @@ -75,9 +75,9 @@ struct agg_renderer_process_visitor_p feature_(feature), prj_trans_(prj_trans) {} - void operator() (marker_null const&) {} + void operator() (marker_null const&) const {} - void operator() (marker_svg const& marker) + void operator() (marker_svg const& marker) const { agg::trans_affine image_tr = agg::trans_affine_scaling(common_.scale_factor_); auto image_transform = get_optional(sym_, keys::image_transform); @@ -180,7 +180,7 @@ struct agg_renderer_process_visitor_p agg::render_scanlines(*ras_ptr_, sl, rp); } - void operator() (marker_rgba8 const& marker) + void operator() (marker_rgba8 const& marker) const { using color = agg::rgba8; using order = agg::order_rgba; diff --git a/src/cairo/cairo_renderer.cpp b/src/cairo/cairo_renderer.cpp index 17723071c..83e1208b1 100644 --- a/src/cairo/cairo_renderer.cpp +++ b/src/cairo/cairo_renderer.cpp @@ -104,10 +104,10 @@ struct setup_marker_visitor setup_marker_visitor(cairo_context & context, renderer_common const& common) : context_(context), common_(common) {} - void operator() (marker_null const &) {} - void operator() (marker_svg const &) {} + void operator() (marker_null const &) const{} + void operator() (marker_svg const &) const {} - void operator() (marker_rgba8 const& marker) + void operator() (marker_rgba8 const& marker) const { mapnik::image_rgba8 const& bg_image = marker.get_data(); std::size_t w = bg_image.width(); diff --git a/src/image_compositing.cpp b/src/image_compositing.cpp index 12633cbc2..925f56e64 100644 --- a/src/image_compositing.cpp +++ b/src/image_compositing.cpp @@ -190,7 +190,7 @@ struct composite_visitor dy_(dy) {} template - void operator() (T & dst); + void operator() (T & dst) const; private: image_any const& src_; @@ -201,19 +201,19 @@ struct composite_visitor }; template -void composite_visitor::operator() (T & dst) +void composite_visitor::operator() (T & dst) const { throw std::runtime_error("Error: Composite with " + std::string(typeid(dst).name()) + " is not supported"); } template <> -void composite_visitor::operator() (image_rgba8 & dst) +void composite_visitor::operator() (image_rgba8 & dst) const { composite(dst, util::get(src_), mode_, opacity_, dx_, dy_); } template <> -void composite_visitor::operator() (image_gray32f & dst) +void composite_visitor::operator() (image_gray32f & dst) const { composite(dst, util::get(src_), mode_, opacity_, dx_, dy_); } diff --git a/src/image_copy.cpp b/src/image_copy.cpp index 01225c25b..04fa75c32 100644 --- a/src/image_copy.cpp +++ b/src/image_copy.cpp @@ -37,7 +37,7 @@ struct visitor_image_copy { using dst_type = typename T0::pixel_type; - T0 operator() (image_null const&) + T0 operator() (image_null const&) const { throw std::runtime_error("Can not cast a null image"); } @@ -48,7 +48,7 @@ struct visitor_image_copy } template - T0 operator() (T1 const& src) + T0 operator() (T1 const& src) const { T0 dst(safe_cast(src.width()), safe_cast(src.height()), false); for (std::size_t y = 0; y < dst.height(); ++y) @@ -75,7 +75,7 @@ struct visitor_image_copy_so throw std::runtime_error("Can not cast a null image"); } - T0 operator() (T0 const& src) + T0 operator() (T0 const& src) const { if (offset_ == src.get_offset() && scaling_ == src.get_scaling()) { @@ -91,7 +91,7 @@ struct visitor_image_copy_so } template - T0 operator() (T1 const& src) + T0 operator() (T1 const& src) const { double src_offset = src.get_offset(); double src_scaling = src.get_scaling(); diff --git a/src/image_util.cpp b/src/image_util.cpp index fdbd80c9b..43c599166 100644 --- a/src/image_util.cpp +++ b/src/image_util.cpp @@ -2087,7 +2087,7 @@ struct visitor_view_to_stream : os_(os) {} template - void operator() (T const& view) + void operator() (T const& view) const { for (std::size_t i=0;i - marker operator() (T &) + marker operator() (T &) const { throw std::runtime_error("Can not make marker from this data type"); } diff --git a/src/warp.cpp b/src/warp.cpp index b250d6e39..4a468a8b3 100644 --- a/src/warp.cpp +++ b/src/warp.cpp @@ -181,10 +181,10 @@ struct warp_image_visitor nodata_value_(nodata_value) {} - void operator() (image_null const&) {} + void operator() (image_null const&) const {} template - void operator() (T const& source) + void operator() (T const& source) const { using image_type = T; //source and target image data types must match diff --git a/test/unit/geometry/geometry_equal.hpp b/test/unit/geometry/geometry_equal.hpp index cb4a30ddf..3907149ac 100644 --- a/test/unit/geometry/geometry_equal.hpp +++ b/test/unit/geometry/geometry_equal.hpp @@ -89,26 +89,26 @@ void assert_g_equal(geometry const& g1, geometry const& g2); struct geometry_equal_visitor { template - void operator() (T1 const&, T2 const&) + void operator() (T1 const&, T2 const&) const { // comparing two different types! REQUIRE(false); } - void operator() (geometry_empty const&, geometry_empty const&) + void operator() (geometry_empty const&, geometry_empty const&) const { REQUIRE(true); } template - void operator() (point const& p1, point const& p2) + void operator() (point const& p1, point const& p2) const { REQUIRE(p1.x == Approx(p2.x)); REQUIRE(p1.y == Approx(p2.y)); } template - void operator() (line_string const& ls1, line_string const& ls2) + void operator() (line_string const& ls1, line_string const& ls2) const { if (ls1.size() != ls2.size()) { @@ -123,7 +123,7 @@ struct geometry_equal_visitor } template - void operator() (polygon const& p1, polygon const& p2) + void operator() (polygon const& p1, polygon const& p2) const { (*this)(static_cast const&>(p1.exterior_ring), static_cast const&>(p2.exterior_ring)); @@ -139,13 +139,13 @@ struct geometry_equal_visitor } template - void operator() (multi_point const& mp1, multi_point const& mp2) + void operator() (multi_point const& mp1, multi_point const& mp2) const { (*this)(static_cast const&>(mp1), static_cast const&>(mp2)); } template - void operator() (multi_line_string const& mls1, multi_line_string const& mls2) + void operator() (multi_line_string const& mls1, multi_line_string const& mls2) const { if (mls1.size() != mls2.size()) { @@ -159,7 +159,7 @@ struct geometry_equal_visitor } template - void operator() (multi_polygon const& mpoly1, multi_polygon const& mpoly2) + void operator() (multi_polygon const& mpoly1, multi_polygon const& mpoly2) const { if (mpoly1.size() != mpoly2.size()) { @@ -173,7 +173,7 @@ struct geometry_equal_visitor } template - void operator() (mapnik::util::recursive_wrapper > const& c1_, mapnik::util::recursive_wrapper > const& c2_) + void operator() (mapnik::util::recursive_wrapper > const& c1_, mapnik::util::recursive_wrapper > const& c2_) const { geometry_collection const& c1 = static_cast const&>(c1_); geometry_collection const& c2 = static_cast const&>(c2_); @@ -189,7 +189,7 @@ struct geometry_equal_visitor } template - void operator() (geometry_collection const& c1, geometry_collection const& c2) + void operator() (geometry_collection const& c1, geometry_collection const& c2) const { if (c1.size() != c2.size()) { diff --git a/test/visual/runner.cpp b/test/visual/runner.cpp index 5ff923172..d0c7222fb 100644 --- a/test/visual/runner.cpp +++ b/test/visual/runner.cpp @@ -57,13 +57,13 @@ public: } template ::type* = nullptr> - void operator()(T const & renderer) + void operator()(T const& renderer) const { test(renderer); } template ::type* = nullptr> - void operator()(T const & renderer) + void operator()(T const & renderer) const { if (tiles_.width == 1 && tiles_.height == 1) { @@ -73,7 +73,7 @@ public: private: template - void test(T const & renderer) + void test(T const & renderer) const { map_size size { map_.width(), map_.height() }; std::chrono::high_resolution_clock::time_point start(std::chrono::high_resolution_clock::now()); @@ -96,7 +96,7 @@ private: } template ::type* = nullptr> - typename T::image_type render(T const & renderer) + typename T::image_type render(T const& renderer) const { if (tiles_.width == 1 && tiles_.height == 1) { @@ -109,7 +109,7 @@ private: } template ::type* = nullptr> - typename T::image_type render(T const & renderer) + typename T::image_type render(T const & renderer) const { return renderer.render(map_, scale_factor_); } @@ -364,4 +364,3 @@ void runner::parse_map_sizes(std::string const & str, std::vector & si } } - diff --git a/utils/svg2png/svg2png.cpp b/utils/svg2png/svg2png.cpp index 2b5e79369..c7fe79735 100644 --- a/utils/svg2png/svg2png.cpp +++ b/utils/svg2png/svg2png.cpp @@ -56,7 +56,7 @@ struct main_marker_visitor verbose_(verbose), auto_open_(auto_open) {} - int operator() (mapnik::marker_svg const& marker) + int operator() (mapnik::marker_svg const& marker) const { using pixfmt = agg::pixfmt_rgba32_pre; using renderer_base = agg::renderer_base; @@ -122,14 +122,14 @@ struct main_marker_visitor // default template - int operator() (T const&) + int operator() (T const&) const { std::clog << "svg2png error: '" << svg_name_ << "' is not a valid vector!\n"; return -1; } private: - std::string const& svg_name_; + std::string svg_name_; bool verbose_; bool auto_open_; };