This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] Step1: don't use _M_out_lim in stringbuf, etc...


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]