src/ai/api/ai_list.cpp
branchnoai
changeset 9581 398688c1a07a
parent 9580 53bf5a5dda46
child 9589 2fbda08db406
--- a/src/ai/api/ai_list.cpp	Thu Apr 12 12:11:46 2007 +0000
+++ b/src/ai/api/ai_list.cpp	Thu Apr 12 12:19:13 2007 +0000
@@ -265,88 +265,104 @@
 
 void AIList::RemoveAboveValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second > value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first > value) this->buckets.erase(iter);
 	}
 }
 
 void AIList::RemoveBelowValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second < value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first < value) this->buckets.erase(iter);
 	}
 }
 
 void AIList::RemoveBetweenValue(int32 start, int32 end)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second > start && (*iter).second < end) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first > start && (*iter).first < end) this->buckets.erase(iter);
 	}
 }
 
 void AIList::RemoveValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second == value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first == value) this->buckets.erase(iter);
 	}
 }
 
 void AIList::KeepAboveValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second <= value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first <= value) this->buckets.erase(iter);
 	}
 }
 
 void AIList::KeepBelowValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second >= value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first >= value) this->buckets.erase(iter);
 	}
 }
 
 void AIList::KeepBetweenValue(int32 start, int32 end)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second <= start || (*iter).second >= end) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first <= start || (*iter).first >= end) this->buckets.erase(iter);
 	}
 }
 
 void AIList::KeepValue(int32 value)
 {
-	for (AIListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+	for (AIListMap::iterator next_iter, iter = this->items.begin(); iter != this->items.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).second != value) this->items.erase(iter);
 	}
 
-	for (AIListBucket::iterator iter = this->buckets.begin(); iter != this->buckets.end(); iter++) {
+	for (AIListBucket::iterator next_iter, iter = this->buckets.begin(); iter != this->buckets.end(); iter = next_iter) {
+		next_iter = iter; next_iter++;
 		if ((*iter).first != value) this->buckets.erase(iter);
 	}
 }