This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [Patch] Step1: don't use _M_out_lim in stringbuf, etc...
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: Paolo Carlini <pcarlini at unitus dot it>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Fri, 20 Jun 2003 15:35:49 -0500
- Subject: Re: [Patch] Step1: don't use _M_out_lim in stringbuf, etc...
- References: <3EF36F12.1010403@unitus.it>
Looks fine, thanks!
>2003-06-20 Paolo Carlini <pcarlini@unitus.it>
> Nathan C. Myers <ncm-nospam@cantrip.org>
>
>
> * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
> is now used only for filebuf, when _M_buf_unified is true.
> epgtr() plays the role of _M_out_lim but it's only updated
> upon overflow, underflow, uflow, seekoff/pos.
> * include/bits/sstream.tcc (_M_underflow): New, implements
> stringbuf::underflow and uflow.
> (seekoff, seekpos): Tweak, use _M_update_egptr.
> * include/std/std_sstream.h (str): Rewrote, deal correctly
> with the current logic, in particular, when pptr() > egptr().
> (_M_sync): When __testout && !__testin set all the get area
> pointers to the current string end.
> (_M_update_egptr): New, internal function updating egptr()
> to the actual string end.
> (_M_underflow): New, declare.
> (underflow): Dispatch to _M_underflow(false).
> (uflow): Dispatch to _M_underflow(true).
>
> * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
> seekpos): Use only the documented derivation interface to
> basic_streambuf (gptr(), setg(), etc.) to work right with
> user specializations.
> * include/std/std_sstream.h (str, _M_sync): Likewise.