cleanup: Make use of types properly and make the loop a little more clear.
authorNathan Binkert <nate@binkert.org>
Sat, 6 Jun 2009 00:01:19 +0000 (17:01 -0700)
committerNathan Binkert <nate@binkert.org>
Sat, 6 Jun 2009 00:01:19 +0000 (17:01 -0700)
src/base/range_ops.hh

index f2b11b6491b4a2caa857fb0bdea69f55521b4cf2..26fadacde7d10cbf2666327f6bab89e22a26e6d6 100644 (file)
@@ -30,6 +30,7 @@
 
 #ifndef __BASE_RANGE_OPS_HH__
 #define __BASE_RANGE_OPS_HH__
+
 #include <list>
 #include <vector>
 
 
 template <class T>
 inline void
-FilterRangeList(std::vector<Range<T> > filter_list, std::list<Range<T> >
-        &range_list) {
-    typename std::list<Range<T> >::iterator i;
-    for (int x = 0; x < filter_list.size(); x++) {
-        for (i = range_list.begin(); i != range_list.end(); ) {
+FilterRangeList(std::vector<Range<T> > filter_list,
+                std::list<Range<T> > &range_list)
+{
+    typedef typename std::list<Range<T> > RangeList;
+
+    for (typename RangeList::size_type x = 0; x < filter_list.size(); x++) {
+        typename RangeList::iterator i = range_list.begin();
+        while (i != range_list.end()) {
             // Is the range within one of our filter ranges?
             if (filter_list[x] == i->start || filter_list[x] == i->end)
-                range_list.erase(i++);
+                i = range_list.erase(i);
             else
-                i++;
+                ++i;
         }
     }
 }