[Patch] Step1: don't use _M_out_lim in stringbuf, etc...
Benjamin Kosnik
bkoz@redhat.com
Fri Jun 20 20:35:00 GMT 2003
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.
More information about the Libstdc++
mailing list