|| N1578 = 04-0018
|| February 11, 2004
|| Programming Language C++
|| ISO/IEC IS 14882:2003(E)
|| PJ Plauger
|| Dinkumware, Ltd.
|| Pete Becker
|| Dinkumware, Ltd.
N1577=04-0017, Working Draft, Standard for Programming
Language C++, contains the body of the standard, with all of the changes
made at the Oxford and Kona meetings. It has diff marks reflecting these
changes. Note that the diff marks are generated from the troff source files,
and the results go through some further processing before being typeset; one
consequence is that diff marks sometimes appear a line or two away from the
actual difference, and sometimes persist for several lines, especially in
tables and footnotes. The marks should be taken as a guide to where changes
occurred, and not as literal truth.
Thanks to Steve Adamczyk, Beman Dawes, Barry Hedquist, Jens Maurer,
Mike Miller, John Spicer, and Daveed Vandevoorde for their efforts in editing
and reviewing the draft.
There were a few places where the changes described in the defect reports
did not accurately reflect the intent of the report. When the intent was clear
and the correct wording was obvious, we made the correction:
- Core Issue 160 adds std:: in front of a lot of things. In 184.108.40.206/3
it asks for a change of new_handler to std::new_handler. We changed
it instead to new-handler function, because std::new_handler is
actually the name of a function type, the type of such a function,
rather than the identification of a specific function.
There's a similar problem in 15.5.1/1 with unexpected_handler.
There the inserted phrase is unexpected exception handler.
- Library Issues 200 and 346 appear to make similar changes to the
requirements for forward iterators, in order to make it clear that forward
iterators can be constant. We made the changes described in Issue 200.
- Library Issue 250, in part, adds a footnote that reminds readers of the
effect of some related words in another part of the standard. We changed the
wording of this footnote slightly, to eliminate some awkward phrasing.
- Library Issue 303 modifies the text that describes the extractor for
bitsets. One part requires calls to is.widen(0) and to is.widen(1); we
changed this to is.widen('0') and is.widen('1').
- Library Issues 331 and 363 both fix the problem with the destructor of
ios_base::failure not having a nothrow specifier. Issue 331 fixes it by
removing the description of the destructor, and Issue 363 fixes it by adding
a nothrow specifier. We removed the description of the destructor, which is
consistent with the treatment of the rest of the exception types.
- Library Issue 242 has two different phrasings for the same change. The two
are equivalent, but the second one is clearer. We applied the second one.