On Wed, 15 Nov 2017 22:31:11 +0100 Paolo Carlini <paolo.carl...@oracle.com> wrote:
> Hi, > > On 15/11/2017 11:48, Petr Ovtchenkov wrote: > > Ask associated streambuf for character when needed instead of > > accumulate it in istreambuf_iterator object. > > > > Benefits from this: > > - minus one class member in istreambuf_iterator > > - trivial synchronization of states of istreambuf_iterator > > and associated streambuf > > --- > > libstdc++-v3/include/bits/streambuf_iterator.h | 34 > > ++++++++++++-------------- > > 1 file changed, 15 insertions(+), 19 deletions(-) > > > > diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h > > b/libstdc++-v3/include/bits/streambuf_iterator.h index 08fb13b..203da9d > > 100644 > > --- a/libstdc++-v3/include/bits/streambuf_iterator.h > > +++ b/libstdc++-v3/include/bits/streambuf_iterator.h > > @@ -95,19 +95,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > // NB: This implementation assumes the "end of stream" value > > // is EOF, or -1. > > mutable streambuf_type* _M_sbuf; > > - mutable int_type _M_c; > Obviously this would be an ABI-breaking change, which certainly we don't > want. Unless I missed a detailed discussion of the non-trivial way to > avoid it in one of the recent threads about these topics... Is we really worry about frozen sizeof of instantiated template? (Removed private template member). If yes, than int_type __dummy; is our all. > > Paolo. -- - ptr