This is the mail archive of the
mailing list for the libstdc++ project.
Re: [PATCH] basic_filebuf: 45628 + non-modal I/O
> OK. It's unfortunate that the ABI encompasses every aspect of the runtime data structure. For example, I've already broken user-derived filebuf classes that assume _M_reading will always be false after seekoff.
Just to clarify: luckily, we don't provide this kind of 'ABI' guarantee. And, well I suppose you already know that, because we don't want to waste time committing and reverting the same patch in 24 hours ;) More seriously, about your idea of not using _M_reading and _M_writing entirely, I'm in general in favor - with the usual caveats about performance, etc, we don't want to call virtuals when we could have avoided it, and so on. Note, of course that, for the time being, we cannot really *remove* the data members, because that changes layout and size of the basic_filebuf class and severely breaks the ABI. If therefore it would be convenient or not to do anyway the change right now I don't know.