From 23c1de79fc17f992a5a72b55d067b859cf2efa62 Mon Sep 17 00:00:00 2001
From: Andreas Schenk <andreas_schenk@hms.harvard.edu>
Date: Thu, 13 Mar 2014 11:06:10 -0400
Subject: [PATCH] changed Polygon::Erase to make it working in C++11

---
 modules/geom/src/composite2.cc | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/modules/geom/src/composite2.cc b/modules/geom/src/composite2.cc
index b72d334dd..8a6aec909 100644
--- a/modules/geom/src/composite2.cc
+++ b/modules/geom/src/composite2.cc
@@ -291,15 +291,17 @@ Polygon2::circular_iterator Polygon2::FindSegment(std::vector<Vec2>::const_itera
 }
 void Polygon2::Erase(circular_iterator first,circular_iterator last)
 {
+  std::vector<Vec2>::iterator vfirst=first,vlast=last;
   if(first!=cbegin()){
     for(circular_iterator it=first;it!=last;++it){
       if(it==cbegin()){ //special case with wrap around
-        std::vector<Vec2>::erase(first,end());
-        std::vector<Vec2>::erase(begin(),last);
+        std::vector<Vec2>::iterator vbegin=begin(),vend=end();
+        std::vector<Vec2>::erase(vfirst,vend);
+        std::vector<Vec2>::erase(vbegin,vlast);
       }
     }
   }
-  std::vector<Vec2>::erase(first,last);
+  std::vector<Vec2>::erase(vfirst,vlast);
 }
 
 Circle2::Circle2():
-- 
GitLab