"All iterators and references are invalidated."
This is not true according to §18.104.22.168/4 in http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf:
An erase operation that erases the last element of a deque invalidates only the past-the-end iterator and all iterators and references to the erased elements. An erase operation that erases the first element of a deque but not the last element invalidates only the erased elements. An erase operation that erases neither the first element nor the last element of a deque invalidates the past-the-end iterator and all iterators and references to all the elements of the deque.
In std::deque, removal of single elements at either end leaves references to all elements except the removed one valid.
Unfortunately, I weren't able to find the right place in this wiki template mess to change the description of iterator invalidations, that's why I couldn't change it directly. If you know where to change it, please do it. It would be nice if you notified me, so that I know how to perform such a modification in the future.
TheNexus 02:18, 24 December 2012 (PST)