This is the mail archive of the libstdc++@sourceware.cygnus.com 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]

Re: stringstream status



> 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




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