We observed that pop_front() on a deque can invalidate iterators to elements that are not deleted.
MS Documentation says:
"If an element is erased at the front of the deque, only that iterator and references to the erased element become invalid. "
This is consistent with the C++ 98 standard:
4 Effects: An erase in the middle of the deque invalidates all the iterators and references to elements of the
deque. An erase at either end of the deque invalidates only the iterators and the references to the erased
Included code under steps to reproduce. Also applies to VS2005.