--- trunk/OOPSE-2.0/src/brains/Exclude.cpp 2005/04/15 22:04:00 2204 +++ trunk/OOPSE-2.0/src/brains/Exclude.cpp 2005/11/16 23:10:02 2448 @@ -78,6 +78,23 @@ namespace oopse { } } +void Exclude::addPairs(std::set& set1, std::set& set2) { + for (std::set::iterator iter1 = set1.begin(); iter1 != set1.end(); ++ iter1) { + for(std::set::iterator iter2 = set2.begin(); iter2 != set2.end(); ++ iter2) { + this->addPair(*iter1, * iter2); + } + } +} + +template +void Exclude::addPairs(IterType1 iter1_first, IterType1 iter1_last, IterType2 iter2_first, IterType2 iter2_last) { + for (IterType1 iter1 = iter1_first; iter1 != iter1_last; ++ iter1) { + for(IterType2 iter2 = iter2_first; iter2 != iter2_last; ++ iter2) { + this->addPair(*iter1, * iter2); + } + } +} + void Exclude::removePair(int i, int j) { if (i == j) { @@ -95,6 +112,23 @@ namespace oopse { } } +void Exclude::removePairs(std::set& set1, std::set& set2) { + for (std::set::iterator iter1 = set1.begin(); iter1 != set1.end(); ++ iter1) { + for(std::set::iterator iter2 = set2.begin(); iter2 != set2.end(); ++ iter2) { + this->removePair(*iter1, * iter2); + } + } +} + +template +void Exclude::removePairs(IterType1 iter1_first, IterType1 iter1_last, IterType2 iter2_first, IterType2 iter2_last) { + for (IterType1 iter1 = iter1_first; iter1 != iter1_last; ++ iter1) { + for(IterType2 iter2 = iter2_first; iter2 != iter2_last; ++ iter2) { + this->removePair(*iter1, * iter2); + } + } +} + bool Exclude::hasPair(int i, int j) { if (i == j) {