Explicitly do nothing when an empty container is passed to delete_clear as it's oddly slow otherwise

Originally committed to SVN as r6402.
This commit is contained in:
Thomas Goyne 2012-01-31 00:44:55 +00:00
parent c2d3c910c7
commit f774f21903
1 changed files with 4 additions and 2 deletions

View File

@ -74,8 +74,10 @@ namespace agi {
}; };
template<class T> template<class T>
void delete_clear(T& container) { void delete_clear(T& container) {
std::for_each(container.begin(), container.end(), delete_ptr()); if (!container.empty()) {
container.clear(); std::for_each(container.begin(), container.end(), delete_ptr());
container.clear();
}
} }
} // namespace util } // namespace util