diff --git a/src/main.h b/src/main.h index f77982903..dfdc0638b 100644 --- a/src/main.h +++ b/src/main.h @@ -88,39 +88,14 @@ template void listDiff ( const T& left, const T& right, T& leftOnly, T& rightOnly) { leftOnly.clear (); + for (auto& l : left) + if (std::find (right.begin (), right.end (), l) == right.end ()) + leftOnly.push_back (l); + rightOnly.clear (); - - for (unsigned int l = 0; l < left.size (); ++l) - { - bool found = false; - for (unsigned int r = 0; r < right.size (); ++r) - { - if (left[l] == right[r]) - { - found = true; - break; - } - } - - if (!found) - leftOnly.push_back (left[l]); - } - - for (unsigned int r = 0; r < right.size (); ++r) - { - bool found = false; - for (unsigned int l = 0; l < left.size (); ++l) - { - if (left[l] == right[r]) - { - found = true; - break; - } - } - - if (!found) - rightOnly.push_back (right[r]); - } + for (auto& r : right) + if (std::find (left.begin (), left.end (), r) == left.end ()) + rightOnly.push_back (r); } #endif