This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: stringstream status
- To: libstdc++@sourceware.cygnus.com
- Subject: Re: stringstream status
- From: Benjamin Kosnik <bkoz@cygnus.com>
- Date: Wed, 26 May 1999 18:59:38 -0700 (PDT)
> I've been looking both at CHECKLIST and the list archives of last December.
> There was code posted for some kind of <sstream> implementation, but it's
> either been replaced in the CVS sources, or has never made it in (the CVS
> logs show a bunch of "tweaks" over the history of bits/std_sstream.h, but
> I never found a "we replaced everything on this date" note).
Everything has been replaced. All the buffers have been (re)implemented,
and the filbufs have been done and then re-done. I believe them to be in
a pretty final state. The CHECKLIST is out of date, I'll try to update to
current iostreams/stringstreams status tonight.
> What's the current status? I'm asking because ostringstreams are functional
> with the exception of storage growth, i.e., you must supply an initial
> string, nor will it grow, but the basic sprintf()-like behavior is there
Hmm. stringbuf should dynamically resize and retain stream integrity: if
it doesn't and you have a testcase, show me and I'll fix it.
There are two ctors for [io]stringstreams: one requires a string (which is
cloned and used as the internal buffer) and one defaults to a null string.
I believe this is exactly as the standard specifies.
> and working. The CHECKLIST still notes nearly all stringstream functions
> as stubs.
This is wrong. It is actually pretty much up and running.
The current status is:
I know that istringstreams work for basic arithmetic
extractors, with the exception of void*& and the cavets of leading zeros
and scientific notation, istream::formatted input is
similarly ready for more testing, and istream::char extraction templates
are awaiting the same questions as void*&. Check out:
27_io/
stringbuf.cc
stringstream.cc
istringstream_formatted.cc
For examples of what does and does not work.
There are currently no testsuites for ostreams, which needs to change. If
your interested, that would be a great place to start, because it will
pinpoint what is wrong. I belive floating point insertion operators are a
problematic area.
Does that help?
-Benjamin