|
Boost : |
From: Daryle Walker (darylew_at_[hidden])
Date: 2003-11-28 02:55:20
I've done more work on "more_io" at the Sandbox and uploaded a copy on the
vault at <http://groups.yahoo.com/group/boost/files/more_io_3.zip>. Here's
the changes from the revised version done at the end of the last review
(called "more_io_revised.zip" in the vault):
* Revised the license text to match the new license
* Added three new stream (buffer) types
1. Null-streams (sends output characters to oblivion, has no input
characters)
2. Pointer-based streams (takes an external buffer, uses the default
streambuf routines)
3. Pointer-to-constant streams (like [2], but only supports the
read-only operations; in the same header file as [2])
The pointer-based streams are notable since they allow a character buffer
that is larger than half the available memory be used (because of no
copying). They also complete the legacy of std::strstreambuf (since
std::basic_stringbuf only carries over the dynamic portion of the old
character buffer stream class).
* Added three I/O manipulators
1. Function "resetios" (changes all the non-locale attributes to their
default values)
2. Function-object "multi_newl" (outputs multiple new-lines at once,
ending with an optional flush)
3. Function-object "multi_skipl" (skips several input lines at once)
The function-object manipulators can be used as inline temporary objects
with operators << or >>, or created in advance and applied on the stream
with the stream operators or applied to the stream with operator ().
* (Changed the implementation of the streambuf-wrapping classes to use a
common base class [again, but less obtuse].)
* (Enhanced the manipulator test file with a stream-buffer that records its
flushes.)
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk