... ah yes, I have in mind a more specific comment, about your general idea: I'm not sure to understand why you are calling .base() only for random access iterators: as far as I can see, assuming you have a _Safe_iterator, that's always the correct thing to do... Paolo.