diff --git a/bg_operators.cpp b/bg_operators.cpp index a0e037ff0..d7990f3ee 100644 --- a/bg_operators.cpp +++ b/bg_operators.cpp @@ -18,11 +18,6 @@ bg::model::multi_polygon operator-( template multi_polygon_type_fp operator-(const multi_polygon_type_fp&, const multi_polygon_type_fp&); -template <> multi_polygon_type_fp operator-(const multi_polygon_type_fp& lhs, const ring_type_fp& rhs) { - multi_polygon_type_fp rhs_mp{polygon_type_fp{rhs}}; - return lhs - rhs_mp; -} - template multi_polygon_type_fp operator-(const box_type_fp& lhs, const rhs_t& rhs) { auto box_mp = multi_polygon_type_fp(); @@ -118,10 +113,10 @@ multi_polygon_type_fp operator&(const bg::model::polygon& lhs, template multi_polygon_type_fp operator&(polygon_type_fp const&, multi_polygon_type_fp const&); -template +template bg::model::multi_polygon operator^( const bg::model::multi_polygon& lhs, - const rhs_t& rhs) { + const bg::model::multi_polygon& rhs) { if (bg::area(rhs) <= 0) { return lhs; } @@ -137,7 +132,7 @@ template multi_polygon_type_fp operator^(const multi_polygon_type_fp&, const mul template bg::model::multi_polygon operator+(const bg::model::multi_polygon& lhs, - const rhs_t& rhs) { + const rhs_t& rhs) { if (bg::area(rhs) <= 0) { return lhs; } diff --git a/bg_operators.hpp b/bg_operators.hpp index 2ca469d1f..7ef323764 100644 --- a/bg_operators.hpp +++ b/bg_operators.hpp @@ -30,10 +30,10 @@ template multi_linestring_type_fp operator&(const linestring_type_fp& lhs, const rhs_t& rhs); -template +template bg::model::multi_polygon operator^( const bg::model::multi_polygon& lhs, - const rhs_t& rhs); + const bg::model::multi_polygon& rhs); template bg::model::multi_polygon operator&(const bg::model::multi_polygon& lhs,