📄 changelog
字号:
* iostream.h: Add hex(), dec(), and oct() manipulators. * iostream.h: Add 'extern' or 'inline', as appropriate. * streambuf.h, iostream.h, iostream.C, strstream.C, strstream.h, __vsbprintf.C, __vsbscanf.C: Use _G_size_t and _G_va_list macros from _G_config.h. * strstream.C, strstream.h: Add strstreambuf::underflow(). * strstream.C: Always set get pointers when constructing. * Makefile.in: Copy in _G_config.h when making a distribution.Thu Feb 20 21:22:38 1992 Per Bothner (bothner at cygnus.com) * stdio/Makefile, test/Makefile: Use new IO_RELPATH and IO_SRCDIR macros (useful for standalone distributions of iostreams without the rest of libg++). Add various methods to enable compilation of InterViews. * iostream.h, iostream.C: Add istream::ignore method and iostream::iostream(streambuf* sb, ostream* tied). * iostream.h: Add {i,io}stream::peek methods. * streambuf.h: Make filebuf::sync() public. * streambuf.h: Add input, output, and append enum values in _STREAM_COMPAT mode. * strstream.{h,C}: Add strstream class.Wed Feb 19 16:14:17 1992 Per Bothner (bothner at cygnus.com) * Makefile.in: Bumped to version 0.62. Hack 'dist' rule. * README: Minor updates. (More needed.) * ioprivate.h: Replace #include <std.h> by standard includes. * parsestream.C, fstream.C: Remove redundant #include <std.h>. * streambuf.h, fstream.h: Made a number of methods 'const'. * indstream.C: Added missing indirectbuf::seekpos. * ioconfig.h, makebuf.C: Some fixes for rs6000 and VMS. * strstream.[hC]: Removed unneeded indirection for various fields of strstreambuf. * strstreambuf.C (strstreambuf constructor): Re-wrote and commented kludge for handling negative size argument. * strstream.[hC]: Added strstreambuf::seekoff method. * streambuf.C: Allow _vt.filebuf as well as _vt$filebuf as assembler label of filebuf's virtual table. * __vsbprint.C: Handle write errors.Sat Feb 15 12:50:09 1992 Per Bothner (bothner at cygnus.com) * fstream.h: Remove #pragma once. * Makefile.in: Bump to version 0.61. * stream.[Ch]: Change format arg from (char*) to (const char*). * fstream.h: Fix typo __GNU_G__ -> __GNUG__.Sat Feb 8 13:39:04 1992 Per Bothner (bothner at cygnus.com) * iostream.C (ws): This time it should work!Fri Feb 7 11:27:13 1992 Per Bothner (bothner at cygnus.com) * Makefile.in: Bumped version number to 0.60. Re-write 'dist' rule to work better within libg++ source tree (e.g. use $(srcdir); add configure). * iostream.h (istream::ipfx()): Set ios::failbit if !good(). * iostream.C (ws): Re-write to use ipfx1().Tue Feb 4 16:42:15 1992 Per Bothner (bothner at cygnus.com) * iostream.C (read_int): If eof and no values, set eofbit as well as failbit. * iostream.C (ws): On eof, set failbit as well as eofbit. * editbuf.[Ch]: New method edit_streambuf::set_current(). * streambuf.h, iostream.[Ch], __vsbscanf.C, __vsbprintf.C: Define and use _IO_VA_LIST instead of va_list. (Using va_list causes namespace problems.) * streambuf.[Ch]: Make streambuf::flush_all() return an int (for the benefit of stdio/fflush()). * Makefile.in: Also make stdio.Sat Feb 1 12:44:36 1992 Per Bothner (bothner at cygnus.com) * igetline.C (istream::gets): Set failbit if eof and no data. * iostream.{h,C}: Add istream::read(void*,int) and ostream::write(const void*,int). Flesh out istream::read(char*, int) and ostream::write(const char*,int) a bit, move them to iostream.C, and make the other overloaded variants be inline functions with casts.Fri Jan 31 17:02:53 1992 Per Bothner (bothner at cygnus.com) * filebuf.C (filebuf::close()): _un_link() a file when closing it.Thu Jan 30 23:32:02 1992 Per Bothner (bothner at cygnus.com) * streambuf.C: Move #pragma implementation earlier in the file. * Makefile.in (install-include-files): Re-write; the previous form broke for some reason under Ultrix.. Wed Jan 29 12:01:58 1992 Per Bothner (bothner at cygnus.com) * fvwrite.[hC]: Removed. * __vsbprintf.C: Removed __sbvwrite, __sbprint, and all of the struct __suio junk (from the BSD stdio implementation). * ioprivate.h: Use new/delete for buffers, not malloc/free. * stream.C: Remove default argument duplication (makes cfont happier). * streambuf.h: Added protected methods to access the privately inherited __streambuf fields. This should remove most of visibility violations (reported by a cfront user). * filebuf.C, strstream.C: Use these new protected methods. * streambuf.[Ch]: Make flush_all a static member of streambuf, and added streambuf::flush_all_linebuffered(). * iostream.h: Add struct Iostream_init for AT&T compatibility. * strstream.C (strstreambuf::overflow): Minor tweaking. * iostream.[hC], strstream.[Ch], parsestream.[Ch], editbuf.[Ch]: Surround #pragmas by #ifdef __GNUG__.Sun Jan 26 19:20:26 1992 Per Bothner (bothner at cygnus.com) * iostream.h, igetline.C: Add istream::gets().Fri Jan 24 23:53:24 1992 Per Bothner (bothner at cygnus.com) * SFile.C, SFile.h: New files, based on old stream-based versions. * Makefile.in, depend, configure.in: Move some make rules to ../Make.defs. Use 'make depend.' * iostream.[hC]: Define an iostream class. This uses coercions (that might not work on all compilers), instead of virtual bases. * fstream.[hC]: Derive fstream from iostream. * iostream.[hc}, PlotFile.C: Changed all operator<< and operator>> unary member functions into binary non-member functions. * streambuf.[Ch], editbuf.[Ch], indstream.[Ch]: Correct return type of streamuf::seekoff and ::seekpos virtual methods to streampos (was streamoff). * filebuf.C (filebuf::seekoff): Major changes. Now it should work most of the time ... * iostream.[Ch]: Add seek[pg] and tell[pg] methods. * iostream: Made count value for read() and write() methods consistently have type 'int' (until ANSI changes it to size_t)! * streambuf.h, iostream.C: Replace {i,o,io}stream::close() methods with a single ios::close method (that is only enabled if _STREAM_COMPAT). * __vsbprintf.C (__cvt_double): Fixed bug in %g format. * __vsbscanf.C: Fix casts to use fully prototyped types. * fstream.h, iostream.[Ch], streambuf.[Ch]: Add some more _STREAM_COMPAT compatibilty functions. * strtoul.C: Change type of variable to avoid warnings. * streambuf.C (streambuf::sputn, streambuf::sgetn): Made more robust (don't assume that _epptr >= _pptr -- which isn't true for line-buffered filebufs).Thu Jan 16 17:07:46 1992 Per Bothner (bothner at cygnus.com) * __vsbprintf.C, streambuf.h, iostream.C, stream.C: Change __vsbprintf to streambuf::vform method. * __vsbscanf.C, streambuf.h, iostream.C: Change __vsbscanf to streambuf::vscan method. * __vsbprintf.C, iostream.C: Added helper class help_streambuf, used by new function help_vform. This is used to give a temporary buffer to an unbuffered file. * instream.h, indstream.C: New indirectbuf subclass of streambuf is just a "forwarding pointer" to another streambuf. * Makefile.in: Add new indstream.[Ch]. * iostream.C: Use streambuf::set(XX) instead of streambuf::clear(rdstate()|XX) in various places. * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C: Rename streambuf::xsputn and streambuf::xsgetn back to sputn and sgetn. I seem to have been misled by a typo in the ANSI draft. * streambuf.h, filebuf.C: Add filebuf::sputn and filebuf::sgetn as hooks for future optimization. * streambuf.C (streambuf::sputn and streambuf::sgetn): Re-write to be more efficient. * streambuf.C, iostream.C: Define the _STREAM_COMPAT macro before including ioprivate.h to force compilation of out-lined functions that might be needed by libg++. * strtoul.C: Use 'base' in place of 'radix' variable. Fix in various minor ways for ANSI compliance. * fstream.C (open methods and constructors): Made sure to set(ios::badbit) if open failed. * ioprivate.h: Remove declarations of removed functions. * filebuf.C (filebuf::~filebuf): Fix '=' for '=='.Sun Jan 5 01:18:06 1992 Per Bothner (bothner at cygnus.com) * Makefile.in (install_include_files): Various fixes.Sat Jan 4 23:44:55 1992 Per Bothner (bothner at cygnus.com) * Makefile.in: Add install-include-files rule, and tweak the *clean rules. * fstream.h, fstream.C: Make filename parameter (in constructors and open() methods) be const, following ANSI, * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C, __vsbprintf.C, __vsbscanf.C: Rename streambuf::xsput() -> xsputn() and sgetn() to xsgetn(), and make them virtual, following ANSI draft. * streambuf.h, streambuf.C: Add streambuf::ungetfail() (from ANSI). * PlotFile.h, PlotFile.C: Quickie translations of old stream-based version of PlotFile class. Fri Jan 3 16:14:07 1992 Per Bothner (bothner at cygnus.com) * Makefile.in: List include files in three categories: INTERNAL_INCLUDES (private to the implementation), COMPAT_INCLUDES (to improve compatibility with olf stream library), and USER_INCLUDES (new public interface files). These, and the new put_io_files rule will help to a libg++ that incorporates the iostream library. * stream.h: Add _STREAM_COMPAT flag to request maximum compatility with old libg++ stream library. Add WS as a synonym for ws. * streambuf.h, iostream.h: Add extra junk if _STREAM_COMPAT flag is set (presumably by stream.h). * istream.h, ostream.h: Added for compatibility with old libg++ stream library. * streambuf.h, streambuf.C, iostream.h: Add streambuf::sungetc() and istream::unget() (recently added to ANSI C+ library draft).Thu Jan 2 22:51:25 1992 John Gilmore (gnu at cygnus.com) * Makefile.in: Set .SUFFIXES, and make "clean" recurse. Ordinary builds do not recurse yet, FIXME, since I don't know what is intended here.Tue Dec 31 16:48:38 1991 Per Bothner (bothner at cygnus.com) Accumulated bug-fixes, many sugested by various net-people. * streambuf.h, streambuf.C: Push data fields of ios into a new super-class _ios_fields. This makes it cleaner to define cin/cout/cerr without duplication. * streambuf.h, filebuf.C, parsestream.h, parsestream.C, editbuf.h, editbuf.C, stdio/fseek.C: Change use of seek_dir type to _seek_dir typedef, because while the correct type is ios::seek_dir, some compilers (including g++ version 1.xx) can't hack that. * streambuf.h (ios::setf): Fix semantics to return complete old value, not just the masked part. * ioprivate.h, streambuf.C, filebuf.C, strstream.C, parsestream.C, makebuf.C: Use new USE_MALLOC_BUF/ALLOC_BUF/FREE_BUF macros to control if streambuf buffers should use malloc/free or new/delete. For now the default is to use malloc/free, but that will change. * streambuf.C, filebuf.C, fstream.C, strstream.C, igetline.C, parsestream.C; Removed duplicate default parameter values (to make cfront happy). * iostream.C (ios::basefield, ios::floatfield, ios::adjustfield): Remove duplicate (and technically illegal) static prefix. * iostream.C (read_int): Fix test for when none of the dec/oct/hex flags are set. * iosteam.C (write_int): Fix bugs. * iosteam.C (ws): Set eofbit on EOF. * ioconfig.h, streambuf.C: Provide more portable hook to filebuf vtable. (Now handles both cfront and g++.) * sgetline.C (streambuf::sgetline), __vsbprintf.C, __vsbscanf.C: Add/fix casts. * local.h: Remove obsolete file. * editbuf.h, editbuf.C: Change edit_mark::new_mark method to be edit_mark::edit_mark constructor. * __vsbscanf.C: Add missing *p++ = c. * makebuf.C: Re-formatted. * Makefile.in, configure.in: New files, to fit into general libg++ configuration.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -