diff --git a/include/boost/geometry/algorithms/transform.hpp b/include/boost/geometry/algorithms/transform.hpp index 22b45dc77..d64d3d78a 100644 --- a/include/boost/geometry/algorithms/transform.hpp +++ b/include/boost/geometry/algorithms/transform.hpp @@ -41,9 +41,9 @@ namespace boost { namespace geometry namespace detail { namespace transform { -template struct transform_point { + template static inline bool apply(Point1 const& p1, Point2& p2, Strategy const& strategy) { @@ -52,9 +52,9 @@ struct transform_point }; -template struct transform_box { + template static inline bool apply(Box1 const& b1, Box2& b2, Strategy const& strategy) { @@ -91,9 +91,9 @@ struct transform_box } }; -template struct transform_box_or_segment { + template static inline bool apply(Geometry1 const& source, Geometry2& target, Strategy const& strategy) { @@ -133,12 +133,7 @@ inline bool transform_range_out(Range const& range, it != boost::end(range); ++it) { - if (! transform_point - < - typename point_type::type, - PointOut, - Strategy - >::apply(*it, point_out, strategy)) + if (! transform_point::apply(*it, point_out, strategy)) { return false; } @@ -148,9 +143,9 @@ inline bool transform_range_out(Range const& range, } -template struct transform_polygon { + template static inline bool apply(Polygon1 const& poly1, Polygon2& poly2, Strategy const& strategy) { @@ -211,9 +206,9 @@ struct select_strategy >::type type; }; -template struct transform_range { + template static inline bool apply(Range1 const& range1, Range2& range2, Strategy const& strategy) { @@ -244,7 +239,7 @@ struct transform {}; template struct transform - : detail::transform::transform_point + : detail::transform::transform_point { }; @@ -255,31 +250,31 @@ struct transform linestring_tag, linestring_tag, Linestring1, Linestring2, Strategy > - : detail::transform::transform_range + : detail::transform::transform_range { }; template struct transform - : detail::transform::transform_range + : detail::transform::transform_range { }; template struct transform - : detail::transform::transform_polygon + : detail::transform::transform_polygon { }; template struct transform - : detail::transform::transform_box + : detail::transform::transform_box { }; template struct transform - : detail::transform::transform_box_or_segment + : detail::transform::transform_box_or_segment { }; diff --git a/include/boost/geometry/multi/algorithms/transform.hpp b/include/boost/geometry/multi/algorithms/transform.hpp index 09926778f..43d1d0678 100644 --- a/include/boost/geometry/multi/algorithms/transform.hpp +++ b/include/boost/geometry/multi/algorithms/transform.hpp @@ -31,10 +31,10 @@ namespace detail { namespace transform /*! \brief Is able to transform any multi-geometry, calling the single-version as policy */ -template +template struct transform_multi { - template + template static inline bool apply(Multi1 const& multi1, Multi2& multi2, S const& strategy) { traits::resize::apply(multi2, boost::size(multi1)); @@ -74,8 +74,6 @@ struct transform > : detail::transform::transform_multi < - Multi1, - Multi2, transform < typename single_tag_of