<HTML><HEAD><TITLE>N1639=04-0079, Editor's Report</TITLE></HEAD><BODY>

<CENTER>
<H1><A NAME="N1639=04-0079, Editor's Report">Editor's Report</A></H1>
</CENTER>

<TABLE ALIGN="RIGHT" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD ALIGN="RIGHT"><B><I>Document number:</I></B></TD>
<TD>&nbsp; N1639&nbsp;=&nbsp;04-0079</TD>
</TR>
<TR>
<TD ALIGN="RIGHT"><B><I>Date:</I></B></TD>
<TD>&nbsp; April 12, 2004</TD>
</TR>
<TR>
<TD ALIGN="RIGHT"><B><I>Project:</I></B></TD>
<TD>&nbsp; Programming Language C++</TD>
</TR>
<TR>
<TD ALIGN="RIGHT"><B><I>Reference:</I></B></TD>
<TD>&nbsp; ISO/IEC IS 14882:2003(E)</TD>
</TR>
<TR>
<TD ALIGN="RIGHT"><B><I>Reply to:</I></B></TD>
<TD>&nbsp; Pete Becker</TD>
</TR>
<TR>
<TD></TD>
<TD>&nbsp; Dinkumware, Ltd.</TD>
</TR>
<TR>
<TD></TD>
<TD>&nbsp; petebecker@acm.org</TD>
</TR>
</TABLE>
<BR CLEAR="ALL">

<HR>

<P><B><CODE><A HREF="#Summary">Summary</A>
&#183; <A HREF="#Editorial Changes">Editorial Changes</A>
&#183; <A HREF="#Future">Future</A>
</CODE></B></P>

<HR>

<H2><A NAME="Summary">Summary</A></H2>

<P>N1638=04-0079, <I>Working Draft, Standard for Programming
Language C++</I>, contains the body of the standard, with all of the changes
made at the Sydney meeting. 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.</P>

<P>Partway through Clause 24, Iterators, there's a very long series of diff
marks, extending into Clause 25. This is a diff artifact, and should not be
taken seriously.</P>

<P>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, I made the correction. I also made some
editorial changes.</P>

<P>My thanks to Barry Hedquist, John Spicer, and Steve Adamczyk for their
proofreading. If we're lucky, our jetlag-induced errors didn't overlap.</P>

<H2><A NAME="Editorial Changes">Editorial Changes</A></H2>

<UL>
<LI>Core Issue 421: Literally, the proposed change replaces a lengthy paragraph
with a short sentence. From the discussion, it looks like the intended change
was actually just an addition to one sentence, so that's the change I made.</LI>
<LI>Core Issue 424: I made this a separate paragraph rather than appending it
to paragraph 2.</LI>
<LI>I changed the marker <CODE>[basic.lookup.koenig]</CODE> to
<CODE>[basic.lookup.argdep]</CODE>.</LI>
<LI>As requested by the Core Working Group, I hyphenated &quot;nontype&quot;,
&quot;nondependent&quot;, &quot;nondeduced&quot;, and &quot;nontemplate&quot;
throughout.</LI>
<LI>LWG Issue 44
<UL>
<LI>For paragraph 5 of the list of changes to clause 27 I added a call to
<CODE>to_int_type</CODE>, so the text reads<BR>
<PRE>        traits::eq_int_type(traits::to_int_type(c), delim)</PRE>
instead of the proposed
<PRE>        traits::eq_int_type(c, delim)</PRE></LI>
<LI>Paragraph 7 of the list of changes to clause 27 calls for changes to
<CODE>[lib.istream::sentry]</CODE>/6; that paragraph was removed in TC1, so I
didn't change it.</LI>
<LI>Paragraphs 3-6 of the list of changes to clause 21 all call for changing
<PRE>    at(xpos+I) == str.at(I)</PRE>
to
<PRE>    traits::eq(at(xpos+I), str.at(I))</PRE>
but the actual code is
<PRE>    at(xpos) == str.at(I)</PRE>
which is correct, so the change I made is:
<PRE>    traits::eq(at(xpos), str.at(I))</PRE></LI>
</UL></LI>
<LI>LWG Issue 226: Reworded the various <CODE>Requires</CODE> clauses to better
match the style used in other parts of the WP.</LI>
<LI>LWG Issue 359: Reworded slightly.</LI>
<LI>LWG Issue 379: There is actually another sentence after the text that's
quoted in the issues list. The resolution says to replace the last sentence of
the paragraph; it's clear from the discussion that the intention was to replace
the last sentence of the quoted text, and not the last sentence of the paragraph.
So I changed the next-to-last sentence.</LI>
<LI>LWG Issue 389: The proposed resolution says to change
<PRE>    T operator[](size_t const);</PRE>
	 to
<PRE>    const T& operator[](size_t const);</PRE>
This is obviously a typo, and the <CODE>const</CODE> after the argument should be
after the closing parenthesis.</LI>
<LI>LWG Issue 395: Reworded. In particular, changed the note into normative
text. The change is pointless otherwise.</LI>
<LI>LWG Issue 403: Added &quot;Throws: Nothing.&quot; instead of the proposed
text. That's the form used in other parts of the standard.</LI>
</UL>

<H2><A NAME="Future">Future</A></H2>

<P>Yes, there will be Bookmarks and a Table of Contents. Between now and the
next meeting I'll be converting the base text from troff to LaTeX, which will
improve maintainability, simplify builds, and provide more flexibility. That's
obviously an exacting job. Adobe<SUP>&reg;</SUP> Acrobat<SUP>&reg;</SUP> can
compare the text in two <CODE>.PDF</CODE> files, which will help ensure that the
conversion doesn't change any of the text. However, this will require some
careful proofreading, so please be prepared to volunteer to help. It will be
worth it: when we have LaTeX source I can generate Bookmarks automatically.</P>

</BODY></HTML>
