freebsd-nq/contrib/libg++/libio/NEWS
Peter Wemm 5acb90c9b6 Import of raw libg++-2.7.2, but in a very cut-down form. There is still
a small amount of unused stuff (by the bmakefiles to follow), but it
isn't much and seems harmless enough.
1996-10-03 21:35:18 +00:00

52 lines
2.2 KiB
Plaintext

*** Major changes in libio version 2.7.0:
* The data representations of _IO_FILE and streambufs have been modified.
The layout of the jump-table table _IO_jumps_t has been re-arranged
to match that of a virtual function table of a streambuf. Therefore,
we no longer need a separate _IO_FILE::_jumps pointer; instead it can
be shared with the virtual function table pointer. In addition to
saving space, this also removes the overhead when double indirection
was needed, and there are many simplificatons (e.g. we no longer need
the builtinbuf class.
* The streambuf::uflow virtual has been added, to match the standard.
* The ifstream, ofstream, and fstream classes now include the filebuf
as a member, rather than being pointed to it. Various related changes.
* Version number changed to generally follow libg++ (and gcc).
*** Major changes in libio version 0.66 (released with libg++ 2.6.1):
* Some documentation and an example in iostream.texi on how to derive
your own class from streambuf.
* New functions added to stdio: getline, detdelim, snprintf, vsnprintf.
This is for compatibility with the GNU C library.
*** Major changes in libio version 0.65 (released with libg++ 2.6):
* _IO_getline and streambuf::sgetline no longer write a '\0' at the end.
* A number of improvements to get closer to the ANSI/ISO C++ working
paper, such as:
- Added (preliminary support for) new ANSI streambuf::uflow virtual.
- Added istdiostream and ostdiostream classes.
- Added ostream::operator<<(bool) and istream::operator>>(bool&).
* More robust (and faster) initialization and cleanup of standard streambufs.
* Many small bug fixes, portability improvements, and random enhancements.
*** Major changes in libio version 0.63 (released with libg++ 2.5.3):
* There is a g++ bug that causes inconsistent name mangling for the
assembler name of the virtual function table for the istream class.
A work-around has been put into streambuf.h, which will make g++
always do the right thing. Note that this may require you to
recompile programs that were incorrectly compiled by g++.
* Functions that do printf-style formatting to the unbuffered
streams have been optimized to write to a temporary buffer.