Hi     Here is the last patch I will propose for istreambuf_iterator. This is mostly to remove the mutable keyword on _M_sbuf.     To do so I had to reset _M_sbuf in valid places that is to say constructors and increment operators. Despite that we might still have eof iterators with _M_sbuf not null when you have for instance several iterator instance but only increment one. It seems fine to me because even in this case iterator will still be considered as eof and using several istreambuf_iterator to go through a given streambuf is not usual.     As _M_sbuf is immutable I have been able to restore the simple call to _M_at_eof() in the increment operators debug check. Ok to commit after successful tests ? François