I would like to remove all elements less than v in a standard C ++ 11 set container, here is my code:
void delete_less_than(set<int> & ss, int const v) { for (auto item: ss) { if (item < v) { ss.erase(ss.find(item)); } else break; } }
Will the code work correctly? It seems I am well versed on my computer (g ++ 4.7.3), but endlessly loop on some kind of online judge where I submit my code.
source share