diff --git a/src/SystemManager.cc b/src/SystemManager.cc index 86628965f5..57a2c8b0fc 100644 --- a/src/SystemManager.cc +++ b/src/SystemManager.cc @@ -441,25 +441,7 @@ template void RemoveFromVectorIf(std::vector& vec, typename identity>::type pred) { - auto originalSize = vec.size(); - int j = 0; - - for(std::size_t i = 0; i < vec.size(); ++i) - { - if (pred(vec[i])) - { - j++; - } - else - { - vec[i-j] = vec[i]; - } - } - - while (vec.size() > originalSize - j) - { - vec.pop_back(); - } + vec.erase(std::remove_if(vec.begin(), vec.end(), pred), vec.end()); } //////////////////////////////////////////////////