This is simply a way to remove an item from within a deque. Although it shouldn't be the primary means of removing items from a queue, it is useful to have. (This will be used in support of a feature addition to a message queue.) Also, the implementation of copy for deque iterators is missing an implemention of WTF::DequeIteratorBase<T>::operator=.
Created attachment 27701 [details] Patch for bug.
Created attachment 27709 [details] Proposed fix. Remove one extra blank line from last patch.
Comment on attachment 27709 [details] Proposed fix. > + Add Deque::remove and Deque*Iterator::copy. As discussed on IRC, it's quite unclear why DequeIteratorBase<T>::operator= was added, an explanation in ChangeLog would help a lot. Concrete iterators assignment operators were calling Base::assign(), which in turn called this unimplemented operator=. We could only get away with that because all this code was unused. Other containers' remove() methods have an early return for end(), so Deque::remove should have it, too. r=me, with this bug fixed, and a better ChangeLog.
Committed as r41068.