Recently I needed to delete items from a sequence like a deque , list or vector from a for loop, I figured out that I have to do something like this:
for(iter = list.begin(); iter != list.end(); ++iter)
{
// your code
iter = list.erase(iter);
--iter;
// your code
}
It looks basic but it took me a while to figure it out so I wanted to share in case somebody need it.

