$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51561 - sandbox/committee/LWG
From: bdawes_at_[hidden]
Date: 2009-03-03 08:29:00
Author: bemandawes
Date: 2009-03-03 08:28:56 EST (Tue, 03 Mar 2009)
New Revision: 51561
URL: http://svn.boost.org/trac/boost/changeset/51561
Log:
cleanup
Text files modified: 
   sandbox/committee/LWG/0xCD1_Comments.html | 42573 ++++++++++++++++----------------------- 
   1 files changed, 18088 insertions(+), 24485 deletions(-)
Modified: sandbox/committee/LWG/0xCD1_Comments.html
==============================================================================
--- sandbox/committee/LWG/0xCD1_Comments.html	(original)
+++ sandbox/committee/LWG/0xCD1_Comments.html	2009-03-03 08:28:56 EST (Tue, 03 Mar 2009)
@@ -1,24486 +1,18089 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
-	<TITLE>C++0x CD1 NB Comments</TITLE>
-	<META NAME="GENERATOR" CONTENT="Microsoft FrontPage 5.0">
-	<META NAME="AUTHOR" CONTENT="dow">
-	<META NAME="CREATED" CONTENT="20090221;19590000">
-	<META NAME="CHANGEDBY" CONTENT=" Barry E Hedquist">
-	<META NAME="CHANGED" CONTENT="20090222;18460000">
-	<META NAME="DESCRIPTION" CONTENT="FORM (ISO)">
-	<STYLE TYPE="text/css">
-	<!--
-		@page { size: 11.69in 8.27in; margin-right: 0.59in }
-		P { margin-bottom: 0.08in; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2 }
-		P.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }
-		P.cjk { font-family: "Times New Roman", serif; font-size: 10pt }
-		P.ctl { font-family: "Arial", sans-serif; font-size: 10pt; so-language: ar-SA }
-		TT { font-family: "DejaVu Sans Mono", "Consolas", monospace }
-	-->
-	</STYLE>
-</HEAD>
-<BODY LANG="en-US" TEXT="#000000" DIR="LTR">
-<DIV TYPE=HEADER>
-	<TABLE BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0 style="border-collapse: collapse">
-		<TR VALIGN=TOP>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">1</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">2</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">3</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">4</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">5</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">6</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt">7</FONT></P>
-			</TD>
-		</TR>
-		<TR VALIGN=TOP>
-			<TD>
-				<P>
-				<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=1 STYLE="font-size: 8pt"><B>MB</B></FONT><SUP><FONT SIZE=1 STYLE="font-size: 6pt"><B>1</B></FONT></SUP><FONT SIZE=1 STYLE="font-size: 8pt"><B><BR></B></FONT></FONT><BR>
-				</P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt"><B>Clause
-				No./<BR>Subclause No./<BR>Annex<BR></B>(e.g.
-				3.1)</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt"><B>Paragraph/<BR>Figure/Table/Note<BR></B>(e.g.
-				Table 1)</FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=1 STYLE="font-size: 8pt"><B>Type
-				of com-ment</B></FONT><SUP><FONT SIZE=1 STYLE="font-size: 6pt"><B>2</B></FONT></SUP></FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt"><B>Comment (justification for
-				change) by the MB</B></FONT></P>
-			</TD>
-			<TD>
-				<P>
-				<FONT SIZE=1 STYLE="font-size: 8pt"><B>Proposed change by the MB</B></FONT></P>
-			</TD>
-			<TD>
-				<P LANG="en-GB" ALIGN=CENTER STYLE="margin-top: 0.07in; margin-bottom: 0.04in; page-break-inside: avoid">
-				<FONT SIZE=1 STYLE="font-size: 8pt"><B>Disposition</B></FONT></P>
-				<P>
-				<BR>
-				</P>
-			</TD>
-		</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">General
-			Comment</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ge</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Interactions
-			between several new features appear obscure, and very few examples
-			are offered to guide understanding of the formal text on
-			interaction between these new additions.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			worry about the complexity of the programming model so created.</FONT></P>
-			<P STYLE="margin-top: 0.04in"><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1-16</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge/te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The active issues identified
-			in WG21 N2803, C++ Standard Core Language Active Issues, must be
-			addressed and appropriate action taken.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT COLOR="#000080" SIZE="2" style="font-size: 11pt"><U>http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Appropriate action would
-			include making changes to the CD, identifying an issue as not
-			requiring a change to the CD, or deferring the issue to a later
-			point in time.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">CA-1</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There
-			are quite a number of defects for the current CD recorded in
-			SC22/WG21-N2803 and N2806</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			these comments and update ISO/IEC CD 14882 accordingly</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1
-			through 16</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ge/te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-1
-			Consider addressing a significant part of the unresolved core
-			language issues presented in WG21 document N2791 "C++
-			Standard Core Language Active Issues, Revision 59", available
-			at
-			http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2791.html
-			.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">CH
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">all</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			issues on the issues lists shall be addressed before the standard
-			becomes final.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">all</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Latin
-			abbreviations are presented incorrectly.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Italicize
-			all Latin abbreviations, append commas after each occurrence of
-			<I>i.e</I>. and <I>e.g.</I>, and remove extraneous space after
-			each such abbreviation.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1
-			[intro.scope]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">C++
-			is split at the end of line.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is a bad line break in "C++".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">List
-			of additional facilities over C has been extended with this
-			standard, so should be mentioned in the introductory material.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the following to the list in 1.1p2: atomic operations concurrency
-			alignment control user-defined literals attributes </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.2
-			[intro.refs]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Is
-			the lack of reference to ISO/CEI 9899/AC3:2007 voluntary?</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="en-US">We
-			recommend taking the latest update to each listed standard, yet
-			the C standard is quite deliberately held back to the 1990 version
-			without comment.+</SPAN></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">...
-			not sure ...</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			definition of an argument does not seem to cover many assumed use
-			cases, and we believe that is not intentional.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Revise
-			the definition of argument to answer question such as: Are
-			lambda-captures arguments? Are type names in a throw-spec
-			arguments? 'Argument' to casts, typeid, alignof, alignas, decltype
-			and sizeof? why in x[arg] : arg is not an agrument, but the value
-			forwarded to operator[]() is ? Does not apply to operators as
-			call-points not bounded by parenthises ? Similar for copy
-			initialization and conversion? what are Deduced template
-			'arguments'? what are 'default arguments'? can attributes have
-			arguments? what about concepts, requires clauses and concept_map
-			instantiations? What about user-defined literals where parens are
-			not used?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			definition is essentially worthless, as it says nothing about what
-			distinguished a diagnostic message from other output messages
-			provided by the implementation</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">...
-			add something about the diagnostic message being a message issues
-			by the implementation when translating a program that violates the
-			rules of the standard. ...</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.3.4
-			[defns.dynamic.type]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">"The
-			dynamic type of an rvalue expression is its static type."  Is
-			this true with rvalue references?</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			wording is unclear as to whether it is the input or the
-			implementation "that is not a well-formed program".</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Reword
-			to clarify that it is the input that is here considered not
-			well-formed.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.3.6
-			[defns.impl.defined]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">There
-			is a page break between the title and the paragraph.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.3.13
-			[defns.undefined]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[intro.execution]/5
-			explicitly allows non causal undefined behaviour,</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Adding
-			it to the note outlying possible undefined behaviours.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1.3.14</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Unspecified behavior does not
-			clearly state whether or not undefined behavior is permitted. (The
-			standard says that "usually, the range of possible behaviors
-			is delineated", but what happens if the range is not
-			delineated? Is a crash, or worse, allowed?)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clearly
-			state whether or not Unspecified behavior includes undefined
-			behavior.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.4
-			[intro.compliance]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			paragraph as its stands seems to require that violations of the
-			ODR (which make a program ill-formed) are required to be diagnosed
-			if the program also uses an extension which defines some cases of
-			ODR.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			checklist of implementation defined behaviour (see ISO/IEC TR
-			10176, 4.1.1p6)</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a new annex with the missing checklist</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			annex describing potential incompatibility to previous edition of
-			the standard (see ISO/IEC TR 10176, 4.1.1p9)</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a new annex with the missing documentation. See n2733(08-0243) for
-			a starting point</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.5</FONT></P>
-		</TD>
-		<TD>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is no mention of Clause 17.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Include
-			Clause 17 among the list of Clauses that specify the Standard
-			Library.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.5</FONT></P>
-		</TD>
-		<TD>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			paragraph omits to mention concepts and concept maps among its
-			list of entities defined in the Standard Library.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Mention
-			concepts and concept maps among the list of entities.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 9</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The syntax description does
-			not account for lines that wrap.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US 10</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			term thread is used before defined.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt">
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">R</FONT><FONT SIZE=2 STYLE="font-size: 9pt">eference
-			1.10 [intro.multithread].</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			11</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3 last sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			phrase “threads of execution” should be accompanied by
-			a reference to [intro.multithread].</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			the recommended reference.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			12</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3 first sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">A
-			memory location is not an object as the sentence claims.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			that a memory location “holds” an object rather than
-			that it “is” an object.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			13</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3 last sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is unclear what is meant by memory locations that are "separate":
-			 are they distinct? non-overlapping? how much "separation"
-			is needed?</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			either a better definition of “separate” or reword
-			(this and subsequent paragraphs) to avoid this term.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			14</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			phrase "no matter what the sizes of the intervening
-			bit-fields happen to be" contradicts the claim of separation
-			"by a zero-length bit-field declaration".</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			the “no matter…” phrase, or resolve the
-			contradiction in a different way.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			15</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">A
-			struct does not “contain” memory locations.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Reword
-			so that a struct is “held in” one or more memory
-			locations.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			16</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.9</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			discussion of observable behavior in 1.9 is not consistent with
-			the addition of threads to the language.  Volatile reads and
-			writes and other observable actions no longer occur in a single
-			"sequence”.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Remove/replace
-			various occurrences of "sequence" in 1.9.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">With
-			parallel execution there is no longer the idea of a single
-			execution sequence for a program. Instead, a program may be
-			considered a set of exectution sequences.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Update
-			first sentance as: A conforming implementation executing a
-			well-formed program shall produce the same observable behavior as
-			one of the possible SETS OF execution sequences of the
-			corresponding instance of the abstract machine CONFORMING TO THE
-			MEMORY MODEL (1.10) with the same program and the same input.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1.9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Does
-			the term 'sequence' imply all reads/writes through volatile memory
-			much be serialized, and cannot occur in parallel on truly parallel
-			hardware? Allow for multiple concurrent sequences where each
-			sequence is constrained by this observable behaviour rule, and
-			multiple sequences are constrained by the memory model and
-			happens-before relationships defined in 1.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			'sequence' with 'sequences'.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			9</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.9
-			[intro.execution]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">16</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			example use int *v while the other examples seems to use notation
-			like int* v.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			17</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1.10</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			definition of “thread” is poor, and assumes the user
-			already knows what multi-threaded means (probably true!). In
-			particular, it does not deal adequately with the concept that all
-			threads share the same address space.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			first sentence of para 1 as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">Under
-			a hosted implementation, a C++ program can have more
-			than one thread of
-			execution (a.k.a. thread)
-			running concurrently.
-			Each thread is a single flow of control within a program.   
-			Anything whose address may be determined by a thread, including
-			but not limited to static objects, storage obtained via new or by
-			any dynamic allocator, directly addressable storage obtained
-			through implementation-defined functions, and automatic variables,
-			are accessible to all threads in the same program.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2,
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Undefined
-			behaviour is a drastic way to silently ignore minor issues. The
-			cases in this paragraph could be easily defined. In this case opt
-			for conditionally supported behaviour, which mandates a diagnostic
-			if the compiler is not prepared to handle the syntax consistently.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			undefined behaviour with conditionally supported behavior.
-			Conditional behaviour may be implementation defined, although
-			suggest there is a reasonable default in each case. For creating a
-			universal-character name, splice text to create a
-			universal-character. In the case of a file ending without a
-			newline, treat as if the newline was implictly added, with an
-			empty line to follow if the last character was a back-slash.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK
-			    10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Implementation
-			defined seems unnecessarily burdensome for negligible gain. I am
-			yet to see code that depended on whether non-empty sequences of
-			whitespace were concatenated. Better left unspecified.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">How
-			the compiler treats non-empty sequences of whitespace should be
-			left unspecified, rather than implementation-defined.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			10</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.1
-			[lex.phases]/5 and 2.2 [lex.charset]/3</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[defns.multibyte]
-			"the extended character set."</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[lex.charset]/3
-			cited below implies that there is an extended character set per
-			locale.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[lex.phases]/5
-			"Each [...] universal-character-name [...] is converted to
-			the corresponding member of the execution character set"</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[lex.charset]/3
-			"The values of the members of the execution character sets
-			are implementation defined, and any additional members are
-			locale-specific."</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Together
-			they seem to imply that what is locale-specific is if a value is
-			valid or not for the current locale, not the representation of a
-			given universal character.</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			is not the behaviour of at least some compilers I've access to
-			which are allowing different codes for the same abstract character
-			in different locale. During phase 5, they are using an
-			implementation defined char set.</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Trigraphs
-			are a complicated solution to an old problem, that cause more
-			problems than they solve in the modern environment. Unexpected
-			trigraphs in string literals and occasionally in comments can be
-			very confusing for the non-expert.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Deprecate
-			the whole of 2.3 and move it to appendix D.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.4,
-			2.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			undefined behaviour in token concatenation is worrying and we
-			believe hard to justify. An implementation should either support
-			this in a defined way, or issue a diagnosic. Documenting existing
-			practice should not break existing implementations, although
-			unconditionally requiring a diagnostic would lead to more portable
-			programs.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			undefined behaviour with conditionally supported behaviour with
-			implementation defined semantics.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			18</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			paragraph begins with an empty line.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			the empty line.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			11</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.4
-			[lex.pptokens]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">There
-			are spurious empty lines.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			12</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.5
-			[lex.digraph] and 2.11 [lex.key]/2</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			alternative representations are reserved as such even in
-			attribute.  Is that what is wanted?</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="fi-FI" STYLE="margin-top: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			eq, for spelling out == in order to distinguish it from the
-			assignment operator.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">See
-			eq-keyword.doc, eq-keyword.ppt</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			text is confusing in isolation, as it implies pp-numbers do not
-			have a value in translation phase 4 when evaluating #if
-			preprocessor expressions.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a note with a cross-refernce to 16.1 that a pp-number may briefly
-			acquire a value during translation phase 4 while evaluating #if
-			expressions.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">table
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			table is nearly sorted, but not quite. It was sorted in previous
-			versions of the standard.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Sort
-			the table.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.11</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Keywords
-			in the table are listed disorderly. Also, a part of a frame of the
-			table is not drawn.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Sort
-			it in alphabetical order. Complete the table frame.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			19</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.13.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			5, rows “l or L” and “ll or LL”</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			final entry in the last column (“unsigned long int”)
-			is incorrect.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the incorrect entries by “unsigned long long int”.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			20</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2.13.1,
-			2.13.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Long
-			strings of digits in literals are a continuing problem in the
-			production and maintenance of programs.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Adopt
-			the 1983 technology of Ada and use underscores to separate digits.
-			</FONT><FONT COLOR="#000080"><U>http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2281.html</U></FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">15</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.13.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Inconsistency
-			between definition of a multicharacter literal and a wide
-			character literal containing multiple c-chars.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			the term multicharacter wide literal for a wchar_t literal
-			containing multiple elements, and specify its type is integer (or
-			wider)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">16</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.13.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Not
-			immediately clear why the question mark needs escaping. A note
-			would help.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a note explaining that the ? character may need escaping to avoid
-			accidentally creating a trigraph.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Typo, R"..." should
-			be R"[...]"</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Correct
-			typo.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">We
-			think that the explanation of d-char-sequence is not enough.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add the following.</FONT></P>
-			<OL>
-				<LI><P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in; widows: 0; orphans: 0">
-				<FONT SIZE=2 STYLE="font-size: 9pt">Add  the following  to the
-				explanation of d-char-sequence, more easily to understand.</FONT></P>
-			</OL>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">...prefix is a raw string
-			literal.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The d-char-sequence is used as
-			delimiter. </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The terminating
-			d-char-sequence of ...</FONT></P>
-			<OL START=2>
-				<LI><P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in; widows: 0; orphans: 0">
-				<FONT SIZE=2 STYLE="font-size: 9pt">Add the following note that
-				there are square brackets in r-char-sequence.</FONT></P>
-			</OL>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">[Note:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.83in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">char
-			foo[] = R”<I>delimiter</I>[[a-z]
-			specifies a range which matches any lowercase letter from "a"
-			to "z".]<I>delimiter</I>”;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">the expression statement
-			behaves exactly the same as</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.83in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">char foo[]="[a-z]
-			specifies a range which matches any lowercase letter from \"a\"
-			to \"z\".";</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.69in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">- end note]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.69in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">rd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1st line of example</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo. Lack of a necessary
-			backslash in the first line of the example as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">const char *p = R"[a</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">b</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">c]";</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">const char *p = R"[a\</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">b</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">c]";</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Correct
-			typo.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			21</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			paragraph, marked as a Note, contains an embedded example not
-			marked as such.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Denote
-			the code (and perhaps also its commentary) as an Example.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			22</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			code does not have the effect predicted by its accompanying
-			narrative.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Append
-			a backslash to the first line of the code.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Table 7</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not explicit how to combine raw-string and non-raw-string.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			rules containing raw-string in the table 7.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			13</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4
-			[lex.string]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Shouldn't
-			the assert be</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">assert(std::strcmp(p,
-			"a\nb\nc") == 0);</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">17</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			would be preferred for attempts to modify string literals to be
-			diagnosable errors. This is not possible due to the deprecated
-			implicit conversion to pointer to null-terminated character
-			sequence of non-const characters. If this deprecated conversion
-			were remove (see other comments) then string literals are always
-			accessed through const types, and the compiler can enforce the no
-			modification rule. The only exception would be using const_cast to
-			cast away constness, but this is already covered under the
-			const_cast rules so needs no further detail here.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">(asssuming
-			deprecated conversion to non-const array is removed or can be
-			turned off) Strike the sentence on undefined behaviour.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">18</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			addition of static_assert (7p4) to the language raises the need to
-			concatenate string representations of integral constant
-			expressions (typically from a sizeof or alignof expression) with
-			narrow string literals to provide an informative error message.
-			There is no need to support arbitrary constant expressions and
-			especially not floating point values or formatting flags.
-			Likewise, the need is purely to support static_assert so only
-			narrow string literal support is required, although generalizing
-			to other literal types would be useful.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			a syntax to support string-ization of integral constant
-			expressions in a form eligible for string literal concatenation,
-			2.13.4p6. Suggested syntax: I" integral-constant-expression
-			". There is no raw variant, although it could combine with
-			type specifier in the same way that the R prefix does, supporting
-			u8I, uI, UI and LI.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2.13.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			grammar for string literal is becoming unwieldy and could easily
-			be refactored into the type optional specifier and the string
-			contents.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Refactor
-			string-literal grammar as: (note - current Drupal view loses
-			formatting which is vital to clearly read the grammar)
-			string-literal: string-literal-type-specifierOPT
-			string-literal-body string-literal-type-specifier: one of u8 u U L
-			string-literal-body: " s-char-sequenceOPT " R raw-string</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			14</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3
-			[basic]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">"In
-			general it is necessary to determine whether a name denotes one of
-			these entities before parsing the program that contains it."</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Would
-			prefer</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">"...
-			before continuing to parse the program that contains it."</FONT></P>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">or
-			even </FONT>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">"...
-			to complete the parsing of the program that contains it."</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">as
-			some names denotes entities declared after the first occurrence.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			15</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3
-			[basic]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">/operator-function-id/,
-			/conversion-function-id/, /template-id/ are followed by a space
-			and then a "s" while usually such production names
-			aren't followed by a space when put in plural (see /identifier/).</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK</FONT></P>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">20</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Chapter
-			3 ("Basic concepts") provides common definitions used in
-			the rest of the document. Now that we have concepts as a primary
-			feature, the title of this chapter can be confusing as it does not
-			refer to the language feature but to definitions used in the
-			document.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the title to "Basic definitions".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">21</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Concepts
-			is now the name of a specific feature of the language, the term
-			now risks confusion and ambiguity when used in the more general
-			sense.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Rename
-			the chapter Basic ???. THe note in p2 specifically needs similar
-			rewording</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">22</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">References
-			are frequently considered variables, but this definition only
-			applies to objects.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"or reference" after both uses of "object"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">23</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">alias-declarations
-			are not definitions and should be added to the list</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			alias-declaration after typedef declaration.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">24</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			current words suggest the declaration of a static integral
-			constant data member of a class cannot be a definition. Trying to
-			fix this wording in-place will be verbose and risk raising more
-			confusion than it solves, so suggest a footnote to call out the
-			special case</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a footnote attached to the static data membmer rule: *static data
-			member delcarations of intergral type may also be definitions if a
-			constant integral expression is provided for an initializer.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">25</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Example
-			is misleading as implicitly defined default constructor uses
-			default initialization, not value initialization, for non-static
-			data members. In the case of std::String this makes no difference,
-			but it makes a big difference for fundamental types and pointers.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the : s() from the illustrated default constructor: struct C {
-			std::string s; C() { } C(const C& x): s(x.s) { } C&
-			operator=(const C& x) { s = x.s; return *this; } ~C() { } };</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">26</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">THe
-			one definition rule should cover references, and unless the term
-			'variable' is extended to cover references the list in this
-			paragraph is incomplete.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			include references in the definition of 'variable' (see earlier
-			comment) or add reference to the list in this paragraph.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK </FONT>
-			</P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">27</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			class type must be complete when catching exceptions, even by
-			reference or pointer. See 15.3.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"when used in an exception-handler (15.3)" to the list.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			16</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.3
-			[Declarative regions and scopes.]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			scope of function parameters is defined, but what is the scope of
-			template parameters?</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">28</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Class
-			templates are not classes, so we should include this case.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ammend
-			"class" to "class or class template"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK</FONT></P>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">29</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.3.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">operators
-			and conversion functions do not have names, yet are susceptible to
-			'name hiding' within a class - indeed we rely on this for the
-			implicitly declared copy-assignment operator.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the additional phrase "The declaration of an operator or
-			conversion function in a derived class (Clause 10) hides the
-			declaration of an operator or conversion function of a base class
-			of the same operator or type;"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			17</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.5
-			[Program and linkage]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			section does not specify whether concept names have linkage.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Do
-			they or not?  If concept names do not have linkage, then a note is
-			appropriate, and that would be a bit surprising and curious.  What
-			is the rationale?</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			30</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph implies concepts have no linkage (do they need it?) and
-			that the entities behind names without linkage cannot be used in
-			other scopes. This maybe a bigger problem for concept maps?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a note to clarify that concepts don't need linkage.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			31</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">What
-			is the linkage of names declared inside a namespace, in turn
-			declared inside an anonymous namespace? It is not clear why such a
-			namespace has no linkage, and there is no language suggesting its
-			memmbers should lose linkage with it, which we assume is the
-			intended consequence.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			rules for namespaces inside nested namespaces, or remove the
-			restriction.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			23</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Bad paragraph break.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			18</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.5
-			[basic.link]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			paragraph number is not aligned with the text.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			19</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.6
-			[Start and termination]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			section completely ignores the real world and practical case of
-			dynamically linked or loaded libraries.  In current computing
-			environments, they are ubiquitous and they cannot be ignored in</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">practical
-			C++ programs.  The Standard</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">should
-			address this aspect.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			32</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Do
-			we really want to allow: constexpr int main() { return 0; } as a
-			valid program?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			constexpr to the list of ill-formed things to annotate main</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			24</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">std::quick_exit
-			is not referenced.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Reference
-			std::quick_exit as well as std::exit in saying that automatic
-			objects are not destroyed. It should </FONT><STRONG><FONT SIZE=2 STYLE="font-size: 9pt">not</FONT></STRONG><FONT SIZE=2 STYLE="font-size: 9pt">
-			do so in saying that calling std::quick_exit is undefined from
-			within destructors for static or thread duration objects.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			25</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.6.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			2 last sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			parenthesized phrase, introduced via “i.e.” is in the
-			nature of an example.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			“i.e.” to “e.g.”</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3.7.4.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Lack of a comma right after
-			“(3.7.2)” in the sentence while there are commas after
-			any other recitations like “(3.7.1)”. It is just a
-			unification matter.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">[ Note: in particular, a
-			global allocation function is not called to allocate storage for
-			objects with static storage duration (3.7.1), for objects or
-			references with thread storage duration (3.7.2) for objects of
-			type std::type_info (5.2.8), or for the copy of an object thrown
-			by a throw expression (15.1). -end note ]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">[ Note: in particular, a
-			global allocation function is not called to allocate storage for
-			objects with static storage duration (3.7.1), for objects or
-			references with thread storage duration (3.7.2),  for objects of
-			type std::type_info (5.2.8), or for the copy of an object thrown
-			by a throw expression (15.1). -end note ]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Correct
-			typo.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.7.4.3</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-3
-			It is unclear whether the following code has well-defined
-			behavior; none of the bullets in the second paragraph seem to
-			apply.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">int&
-			i = *new int(5);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">delete
-			&i;</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			that &i is considered a safely-derived pointer value.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			26</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3.8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1
-			and 5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Use
-			of object fields during destruction is excessively and erroneously
-			constrained.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">See the attached document
-			"Issues with the C++ Standard" under Chapter 3 "Use
-			of objects, especially from other threads, during destruction".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			27</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.9</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			9 first sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is a superfluous/extraneous “and”.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			“and” from the phrase “and std::nullptr_t”.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			20</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.9
-			[Types]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			phrase 'effective type' is defined and used in a way that is
-			incompatible with C99.  Such a deliberate incompatible choice of
-			terminology is both unfortunate and confusing, given past practice
-			of the committee to maintain greater compatibility with C99.  We
-			strongly suggest that the phrase 'effective type' not be used in
-			such an incompatible way.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3.9.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">rd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 13</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">over-aligned
-			type was added as new notion. So it is preferable to add the link
-			after that.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add (3.11) after over-aligned
-			type as the link.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">[
-			Note: pointers to over-aligned types</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#008000">(3.11)</FONT><FONT SIZE=2 STYLE="font-size: 9pt">
-			have no special representation, but their range of valid values is
-			restricted by the extended alignment requirement. This
-			International Standard specifies only two ways of obtaining such a
-			pointer: taking the address of a valid object with an over-aligned
-			type</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#008000">(3.11)</FONT><FONT SIZE=2 STYLE="font-size: 9pt">,
-			and using one of the runtime pointer alignment functions. An
-			implementation may provide other means of obtaining a valid
-			pointer value for an over-aligned type</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#008000">(3.11)</FONT><FONT SIZE=2 STYLE="font-size: 9pt">.—end
-			note ]</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			28</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3.9.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			5 first sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			closing braces of the first two sets are preceded by extraneous
-			space.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			the extra spaces.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">4.2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-4
-			The deprecated conversion from string literals to pointer to
-			non-const character types should be limited to those conversions
-			and types of string literals that were already present in ISO/IEC
-			14882:2003, or the deprecated conversions should be removed
-			entirely.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			applying the proposed resolution presented in core issue 693 in
-			WG21 document N2714 “C++ Standard Core Language Active
-			Issues, Revision 58“, available at
-			http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2714.html
-			; or remove only the conversions to "pointer to char16_t",
-			"pointer to char32_t" in 4.2 paragraph 2 and 15.1
-			paragraph 3.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">CH
-			1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">4.9
-			and 5.2.9</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">With
-			respect to the target type, pointer to members should behave like
-			normal pointers (least surprise principle).</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			standard should allow implicit conversions from ``pointer to
-			member of <TT><FONT FACE="Arial, sans-serif">T</FONT></TT> of type
-			<I>cv </I><TT><FONT FACE="Arial, sans-serif">D</FONT></TT>'' to
-			``pointer to member of <TT><FONT FACE="Arial, sans-serif">T</FONT></TT>
-			of type <I>cv </I>B'', where D is of class type and B is a public
-			base of D,  It should allow explicit conversion the other way
-			around.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">4.11,
-			5.3.1, 5.5</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-5
-			Ref-qualification has not been integrated with pointer-to-members.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Review
-			implicit conversions (4.11), forming pointer-to-members (5.3.1),
-			and dereferencing pointer-to-members (5.5) for type-safety
-			concerns in the presence of ref-qualifiers on the member.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			33</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4.13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">We
-			have: "No two signed integer types shall have the same rank
-			..." "the rank of char shall equal the rank of signed
-			char" Can we therefore deduce that char may not be signed?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the first sentence with "No two signed integer types shall
-			have the same rank, even if they have the same representation,
-			except that signed char shall have the same rank as char even if
-			char is signed (3.9.1/1)."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			34</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4.13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">6th
-			bullet, "the rank of char" - first letter should be
-			capitalised for consistency with the other bullets</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			rank of char</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			36</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Primary
-			expressions are literals, names, names qualified by the scope
-			resolution operator ::, and lambda expressions. The immediately
-			following grammar flatly contradicts this - this and (e) are also
-			lambda expressions.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			this paragraph.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			37</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Member
-			function templates are not member functions, so should also be
-			listed in the 3rd bullet</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			member function templates to the 3rd bullet</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			38</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">this
-			might be useful in a few more places than it is permitted,
-			specifically in decltype expressions within a class. Two examples
-			that would be ill-formed at class scope without changes: typedef
-			decltype( *this ) this_type; decltype( [this]{ return
-			this->memfun(); } ) my_lambda;</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">...
-			words to follow ...</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Syntax rules</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In the current syntax
-			definition, a scope operator(::) cannot be applied to decltype,
-			but it should be. It would be useful in the case to obtain member
-			type(nested-type) from an instance as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">vector<int> v;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">decltype(v)::value_type
-			i = 0; // int i = 0;</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add “decltype (
-			expression ) :: “ to nested-name-specifier syntax like
-			below.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">nested-name-specifier:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">type-name ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace-name ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">nested-name-specifier
-			identifier ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">nested-name-specifier
-			templateopt simple-template-id ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">nested-name-specifieropt
-			concept-id ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">decltype ( expression ) ::</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.13in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			9</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It would be preferable that
-			“&&” could be specified in a lambda expression
-			to declare move capture.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Here is an example from N2709.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<typename F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::unique_future<typename
-			std::result_of<F()>::type> spawn_task(F f){</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			std::result_of<F()>::type result_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">struct local_task {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::promise<result_type>
-			promise;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">F func;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">local_task(local_task const&
-			other)=delete;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">local_task(F func_):</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">func(func_)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">local_task(local_task&&
-			other):</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">promise(std::move(other.promise)),</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">f(std::move(other.f))</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void operator() {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">try</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">promise.set_value(f());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">catch(...)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">promise.set_exception(std::current_exception());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">local_task task(std::move(f));</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::unique_future<result_type>
-			 res(task.promise.get_future());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::thread(std::move(task));</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">return res;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">This can be rewritten simply
-			as follows if move capture can be used in a lambda expression.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<typename F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::unique_future<typename
-			std::result_of<F()>::type> spawn_task(F f){</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			std::result_of<F()>::type result_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::promise<result_type>
-			promise;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::unique_future<result_type>
-			res(promise.get_future());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::thread([&&promise,
-			&&f]() {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">try</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">promise.set_value(f());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">catch(...)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">promise.set_exception(std::current_exception());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">});</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">return res;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add move capture in a lambda
-			expression.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			10</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In the current syntax
-			definition, a returned type of a function object cannot be
-			obtained by using result_of from an unnamed function object
-			generated by a lambda expression because it doesn’t have
-			result type.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void foo(F f)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::result_of<F()>::type result; // error</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">foo([]{});</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">If “Callable” or
-			“Predicate” concept is specified, a returned type can
-			be obtained from a function object without result_type. But it is
-			preferable to be able to obtain it with template.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add result_type to the syntax
-			of an unnamed function object generated by a lambda expression.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			29</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The standard does not state
-			whether or not direct recursion of lambdas is possible.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			30</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt">
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">The
-			standard does not clarify the meaning of </FONT><CODE>
-            <FONT FACE="Arial, sans-serif" COLOR="#000000"><FONT SIZE=2 STYLE="font-size: 9pt">this</FONT></FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">
-			in lambdas. Does it mean this lambda, or this class within which
-			the lambda is nested?</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			31</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt">
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">The
-			current wording does not specify how context capturing and name
-			resolution </FONT><FONT SIZE=2 STYLE="font-size: 9pt">take
-			place when the inner lambda refers to the outer lambda's locals
-			variables and parameters.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			45</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">para
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Lambda
-			is a language feature with an apparent dependency on <functional>.
-			This increases dependency of language on library, and is
-			inconsistent with the definition of freestanding in 17.6.2.4.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the text "a closure object behaves as a function object"
-			to "a closure object is a built-in object which behaves as a
-			function object"; and after "context.", insert "
-			A closure object may be used without any need for <functional>."
-			This makes clear what may already be implied, namely that lambdas
-			can be used in freestanding implementations and don't increase
-			dependency of language on library. (Marked as technical comment
-			anyway because this clarity is technically important).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">US 32</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The final italic "this"
-			in the paragraph should be a teletype "this".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			39</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph lists all the special member functions for the class
-			representing a lambda. But it omits the destructor, which is
-			awkward.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"F has an implicitly-declared destructor".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			40</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">If
-			one or more names in the effective capture set are preceded by &,
-			the effect of invoking a closure object or a copy after the
-			innermost block scope of the context of the lambda expression has
-			been exited is undefined. That is too restrictive. The behaviour
-			should be undefined iff the lifetime of any of the variables
-			referenced has ended. This should be safe and legal; currently it
-			has undefined behaviour: int i; reference_closure<void ()>
-			f; if (blah) { f = [&i]() { }; } if (f) f();</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">If
-			one or more names in the effective capture set are preceded by &,
-			the effect of invoking a closure object or a copy after the
-			lifetime of any of the variables referenced has ended is
-			undefined.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			41</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">For
-			argument dependant lookup (3.4.2) the associated namespaces for a
-			class include its bases, and associated namespaces of its bases.
-			Requiring the result of a lambda expression *to dervide from*
-			std::reference_closure means that ADL will look in namespace std
-			when the lambda capture is entirely by reference, which might have
-			surprising results. Also, relying on the idea of implicitly
-			slicing objects is uncomfortable.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			inheritance with implicit conversion.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			42</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">A
-			lambda with an empty capture list has identical semantics to a
-			regular function type. By requiring this mapping we get an
-			efficient lambda type with a known API that is also compatible
-			with existing operating system and C library functions.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a new paragraph: "A lambda expression with an empty capture
-			set shall be convertible to pointer to function type R(P), where R
-			is the return type and P is the parameter-type-list of the lambda
-			expression." Additionally it might be good to (a) allow
-			conversion to function reference (b) allow extern "C"
-			function pointer types</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			43</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			note spells out the intent that objects from lambda-expressions
-			with an effective capture list of references should be implemented
-			as a pair of pointers. However, nothing in the rest of 5.1.1 lifts
-			the requirement of to declare a reference member for each captured
-			name, and a non-normative note is not enough to relax that.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">...
-			provvide exceptions in the right places ...</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			44</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is a strong similarity between a [&]{} lambda capturing a
-			stack frame, and a [this]{} lambda binding a member function to a
-			class instance. The reference_closure requirement should be
-			extended to the second case, although we need some syntax to
-			create such an object that is distinct from the existing
-			pointer-to-member syntax. This would be a cleaner alternative to
-			the new std::mem_fn library component.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Extend
-			reference_closure requirement to cover [this] lambdas. Consider a
-			simple syntax for creating such bound expressions.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			46</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">para
-			12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			requirement that a lambda meeting appropriate conditions be an
-			object derived from reference_closure makes lambda the language
-			feature dependent on <functional>, which increases
-			dependency of the language on the library and bloats the
-			definition of freestanding C++.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			text "is publicly derived from" with "shall be
-			implemented in a manner indistinguishable from". This places
-			an ABI constraint on reference closures such that compiler and
-			library implementer have to do compatible things. But it cuts the
-			dependency of lambda syntax on <functional>.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-6</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1,
-			20.7.18</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-6
-			Some uses of lambda expressions refer to specializations of the
-			unconstrained class template <FONT FACE="Arial, sans-serif">std::reference_closure</FONT>
-			(5.1.1). If the lambda expression appears in a constrained context
-			and the return type or a parameter type for the lambda depend on a
-			template parameter (see 14.10), such a use is ill-formed.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">In
-			20.7.18, for the class template <FONT FACE="Arial, sans-serif">std::reference_closure</FONT>,
-			require <FONT FACE="Arial, sans-serif">Returnable</FONT>
-			for <FONT FACE="Arial, sans-serif">R</FONT>
-			and <FONT FACE="Arial, sans-serif">VariableType</FONT>
-			for each of the <FONT FACE="Arial, sans-serif">ArgTypes</FONT>.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p10</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-7
-			The note at the end of paragraph 10 appears to be garbled.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			"or references" in the note.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p10</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-8
-			The construction of the function call operator signature is
-			missing specifications for the ref-qualifier and the
-			attribute-specifier.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			bullets that say that the ref-qualifier and the
-			attribute-specifier are absent.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			33</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There is no
-			definition of “move constructor” or “move
-			operation”</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Since
-			this is the first place the terms are used, a definition should
-			either be added here, or a cross reference to one.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-9</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-9
-			There is not a single example of a lambda-expression in the
-			standard. See also core issue 720 in WG21 document N2791 "C++
-			Standard Core Language Active Issues, Revision 59", available
-			at
-			http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2791.html
-			.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a few well-chosen examples.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			52</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph seens out of place, assignment expressions are covered
-			in 5.17</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			p3 to subsection 5.17</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			53</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			definition in p1 makes no allowance for overloaded operator[] that
-			treats the expression as a simple function call, and does not
-			support the interchangability of arguments. Howver p2 relies on
-			this definition when describing the use of brace-init-lists inside
-			[].</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			a new p2 describing the changed semantics for overloaded
-			operator[]. This should be a note to avoid introducing normative
-			text that could potentially conflict with the later definiton of
-			these semantics.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			59</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">When
-			there is no parameter for a given argument, the argument is passed
-			in such a way that the receiving function can obtain the value of
-			the argument by invoking va_arg. That shouldn't apply to parameter
-			packs. template <class ... Types> void f(Types ... pack);
-			f(1, 2, 3);</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			that this sentence only applies where the ellipsis is used.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			60</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the remainder of 5.2.5, cq represents either const or the absence
-			of const vq represents either volatile or the absence of volatile.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"and" before vq</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>61</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">p1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Together
-			with footnote 60 there may be confusion that the postfix
-			expression is always evaluated - even when part of an unevaluated
-			operand. We believe the standard does not require this, and a
-			comment in the existing note would be a useful clarification.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			in footnote 60 that this will not happen if the whole expression
-			is an unevaluated operand.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			62</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the final bullet, what does 'not an lvalue' mean? Does it imply
-			rvalue, or are there other possible meanings? Should clauses that
-			trigger on rvalues pick up on this?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			'not an lvalue' with 'is an rvalue'.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-10</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-10
-			If E1.E2 is referring to a non-static member function, the
-			potential ref-qualification on E2 should be taken into account.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Adjust
-			the presentation of the types involved as appropriate.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>63</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Paragraph
-			2 is missing its number.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			one.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			64</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">A
-			new name R is introduced for use in paragraphs 3 and 4. But R is
-			the same as T.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			R with T and replace "the required result type (which, for
-			convenience, will be called R in this description)" with "T".</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			65</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the first two bullets we have "the result is a pointer (an
-			lvalue referring) to". But para 2 makes clear that a
-			dynamic_cast of an rvalue references produces a rvalue. (Can an
-			lvalue refer to anything anyway?)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"an lvalue referring to" with "reference",
-			twice.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			66</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">typeid
-			may return "an implementation-defined class derived from std
-			:: type_info". The derivation must be public.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">an
-			implementation-defined class publicly derived from std ::
-			type_info</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			67</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1,
-			2, 3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Paragraph
-			1 specifies when the result of static_cast is an lvalue; repeating
-			it is unnecessary.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">In
-			para 2, delete "It is an lvalue if the type cast to is an
-			lvalue reference; otherwise, it is an rvalue." and "The
-			result is an rvalue.". In para 3, delete "The result is
-			an lvalue if T is an lvalue reference type (8.3.2), and an rvalue
-			otherwise."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			54</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3,
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Para
-			3: "The mapping performed by reinterpret_cast is
-			implementation-defined.". Para 6: "... the result of
-			such a pointer conversion is unspecified." Which is it?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">In
-			para 6, replace unspecified with implementation-defined.
-			Alternatively, delete paragraph 3, since individual cases are
-			labelled appropriately.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			55</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">dynamic_cast
-			and reinterpret_cast crossreference 5.2.11 without creating an
-			extra note. The second half of the note is unrelated to the
-			crossrefernce, and would serve as well in normative text.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the note about definition of casting away constness, preserve the
-			cross-reference. The second sentance on reintrepret_cast to its
-			own type should move out of the note into the normative text.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			56</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			notion of safely derived pointers means this conversion may not be
-			as safe in the revised standard as the original. It would be good
-			to call attention to the changed semantics with a note.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add:
-			[Note: the result of such a conversion will not be a
-			safely-derived pointer value (3.7.4.3) -- end note]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>57</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Conditionally
-			supported behaviour gives a wide range or permission, so clarify
-			relationship between safely-derived object pointers and function
-			pointers in a note.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add:
-			[Note: In such cases, the implementation shall also define whether
-			a safely-derived object pointer cast to a function pointer can be
-			safely cast back -- end note]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			58</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.2.11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Casting
-			from an lvalue of type T1 to an lvalue of type T2 using a
-			reference cast casts away constness if a cast from an rvalue of
-			type “pointer to T1” to the type “pointer to T2”
-			casts away constness. That doesn't cover rvalue references.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			lvalue with "lvalue or rvalue" twice.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">US 34</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			list of unary operator should be in teletype font.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			68</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2-9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">All
-			the unary operands other than * return rvalues - but this is not
-			stated.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a paragraph 1a "The following unary operators all produce
-			results that are rvalues."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			69</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">If
-			we cannot bind references/take address of functions in
-			concept_maps, does that mean we cannot use generic bind in
-			constrained templates? Launch threads with expressions found via
-			concept map lookup? Hit problems creating std::function objects?
-			Does the problem only occur if we use qualified lookup to
-			explicitly name a concept map? Does it only kick in if we rely on
-			the implicit function implementation provided by a concept_map, so
-			some types will work and others won't for the same algorithm?!</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">...
-			unknown ...</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			70</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			sizeof operator shall not be applied to ... an enumeration type
-			before all its enumerators have been declared We should allow enum
-			E : int; sizeof(E).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"an enumeration type" to "an enumeration type whose
-			underlying type is not fixed".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			71</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			type of an allocated object wih the type specifier auto is
-			determined by the rules of copy initialization, but the
-			initialization applied will be direct initialization. This would
-			affect classes which declare their copy constructor explicit, for
-			instance. For consistency, use the same form of initiailization
-			for the deduction as the new expression.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			T x = e; with T x(e);</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			72</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			library headers have been carefully structured to limit the
-			dependencies between core language and specific headers. The
-			exception thrown should be catchable by a handler for a type lised
-			in <exception> header in cluase 18. This might be
-			accomplished by moving length_error into the <exception>
-			header, but its dependency on logic_error with its std::string
-			constructors suggest this is not a good idea. Prefer to pick an
-			existing exception instead.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Throw
-			std::bad_alloc instead of std::length_error.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			73</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			class type with conversion operator can only be used if the
-			conversion type is constexpr and the class is a literal type.
-			Adding the single word 'literal' before class type will clarify
-			this.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			'literal' before 'class type'</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			74</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">operators,
-			like constructors and destructors, do not have names. However, in
-			certain circumstances they can be treated as if they had a name,
-			but usually the stanadard is very clear not to actually describe
-			their name as a distinct property.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"the allocation function’s name is operator new"
-			to "the allocation function is named operator new" and
-			similarly for operator delete.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			35</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			period in middle of paragraph between "in the scope of T"
-			and "If this lookup fails"</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a period between "in the scope of T" and "If this
-			lookup fails"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			75</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			paragraph strarting with [Note... is easily skipped when reading,
-			missing the normative text at the end.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Swap
-			order of the note and normative text.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			21</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">5.3.6
-			[Alignof</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Should
-			not the type of alignof-expression be of type std::max_align_t?</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			35</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">5.8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2
-			and 3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There is curious spacing in
-			the expressions "E1 <<E2" and "E1 >>E2".
-			This is a formatting change since previous versions of the
-			Standard.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			47</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.14
-			/ 5.15</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Why
-			are the descriptions of order of evaluation of expressions and
-			side effects different between && and || operators. The
-			interaction with the memory model should be identical, so
-			identical words should be used to avoid accidential
-			inconsistencies in interpretation.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Pick
-			one form of wording as 'the best' and apply it in both places.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			48</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.18</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			defining feature of the comma operator is the guaranteed
-			sequencing of two expressions. This guarantee is lost when
-			presented with an overloaded operator, and this change is subtle
-			enough to call attention to it.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add:
-			[Note: There are no guarantees on the order of value computation
-			for an overloaded comma operator -- end note]</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			49</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Is
-			an implementation permitted to reject this? constexpr int f() {
-			return f(); } int a[f()]; AFAICT it is well-formed; f() seems to
-			satisfy all the rules to make it a constant expression. I would
-			hate compilation to become a potentially non-terminating
-			experience.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			an escape clause to allow the implementation to reject excessively
-			deep nesting of constexpr function evaluations. (This can possibly
-			be a note, since it is arguable that this point is handled by the
-			general rule on resource limits in 1.4/2. A sufficiently smart
-			compiler could use tail recursion above, meaning that it would
-			never run out of memory given this program though.)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>50</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			following should be valid: enum E { foo = 4}; const E c = foo; int
-			a[c]; But currently it is not - c is not an lvalue of effective
-			integral type (4th bullet). (See also 7.1.6.1/2)</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"effective integral type" to "effective integral or
-			enumeration type" in the 4th bullet, 1st sub-bullet.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			51</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5.19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">typeid
-			expressions can never be constant, whether or not the operand is a
-			polymorphic class type. The result of the expression is a
-			reference, and the typeinfo class that the reference refers to is
-			polymorphic, with a virtual destructor - it can never be a literal
-			type.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the words "whose operand is of a polymorphic class type"
-			on the bullet for typeid expressions.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			76</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Do
-			we really need two different terms that say the same thing?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Pick
-			either 'block' or 'compound statement' as the preferred term and
-			use it consistently throughout the standard.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			22</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">6.4.2
-			[The switch statement]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			constant-expression in</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">case
-			constant-expression</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">should
-			be allowed to be of any constant expression of literal type for
-			which a constexpr comparison operator (operator< and
-			operator==) is in scope.  Now that constant expressions of other
-			integral types are evaluated at compile time, the restriction for
-			case-labels is at best artificial.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			77</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			terms i/o operation, synchronize operation and atomic operation
-			have very specific meanings within the standard. The paragraph
-			would be much easier to understand with the terms crossreferenced.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Profide
-			a cross-reference for the terms: i/o operation, synchronize
-			operation and atomic operation </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			11</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">6.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 5</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is no _RangeT type in the equivalent code to “range-base
-			for” statement. It existed in N2049.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add a typedef for _RangeT in
-			the example as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			decltype( expression ) _RangeT;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">auto &&
-			__range = ( expression );</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">for ( auto
-			__begin = std::Range<_RangeT>:: begin(__range),</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              
-			<FONT SIZE=2 STYLE="font-size: 9pt">__end = std::Range<_RangeT>::
-			end(__range);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">__begin
-			!= __end;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">++__begin
-			)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			        <FONT SIZE=2 STYLE="font-size: 9pt">for-range-declaration
-			= *__begin;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			        <FONT SIZE=2 STYLE="font-size: 9pt">statement</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			78</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Including
-			the header <iterator_concepts> is far too unwieldy to enable
-			an important and (expected to be) frequently used syntax.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Merge
-			<iterator_concepts> into <concepts> and change 6.5.4p2
-			to refer to <concepts>, or make the Range concept
-			fundamental along with the other support concepts in 14.9.4 and
-			strike any reference to including a header.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			79</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			definition of for (for-range-declaration : expression) statement
-			is expanded in terms which require a Range concept, and the
-			program is ill-formed if <iterator_concepts> isn't included.
-			For users, iterating through old-fashioned arrays, this is a
-			sledge-hammer to crack a nut and compares poorly with other
-			languages. It's also not possible to implement this without
-			adversely impacting the freestanding definition in 17.6.2.4.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">When
-			expression is an array a of length N whose length is known at
-			compile time, expand range-for as 'for (... p=a, p!=a+N, p++) ...'
-			without requiring the Range concept or <iterator_concepts>.
-			Also, when expression is an initializer_list, expand range-for
-			similarly without requiring <iterator_concepts>.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-11</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">6.9</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-11
-			A sentence in paragraph 1 reads: "Outside of a constrained
-			context, the late-checked block has no effect." This, at face
-			value, specifies that the <EM>compound-statement</EM> of such a
-			late-checked block is never executed, which appears to be
-			unintended.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">State
-			that such a late-checked block has the same meaning as if the <FONT FACE="Arial, sans-serif">late_check</FONT>
-			keyword were absent.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			80</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Many
-			of the sections and major subsections open with a sentence
-			summarising the content. I'm not sure this is necessary; this
-			isn't a tutorial. The problem with these summaries is that because
-			they omit much of the detail, they tend to be inaccurate. This may
-			not matter, but I feel the document would be improved by omitting
-			them. There's a prime example here: "Declarations specify how
-			names are to be interpreted." Not true for static_assert, an
-			asm declaration nor an anonymous bit field.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the first sentence.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			81</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">String
-			literal concatenation happens in phase 6, before parsing, so it is
-			legal and useful to use it for the string literal in a
-			static_assert. It would be useful to add a note mentioning this.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a note: Multiple adjacent string literals may be used instead of a
-			single /string-literal/; see [lex.phases].</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			82</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Paragraph
-			2 talks about declarations that can have nested declarations
-			within them. It doesn't mention scoped enumerations - but
-			according to 7.2/11, "Each scoped enumerator is declared in
-			the scope of the enumeration."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"scoped enumeration" to the list in the second sentence.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			83</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			longest sequence of decl-specifiers that could possibly be a type
-			name is taken as the decl-specifier-seq of a declaration. But many
-			sequences of decl-specifiers cannot possibly be a type name - eg
-			the sequence "friend int", or "typedef int".</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Not
-			sure. I understand the rule, just not how to say it.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			84</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			grammar includes alignment-specifier as a production for
-			decl-specifier, but there is no production for
-			alignment-specifier. I suspect this is a holdover from before
-			alignment was handled as an attribute.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			the production (including the duplicate in A6)</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">[dcl.spec.auto]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">While
-			it’s considered too late for this standard revision,
-			consider loosening the restrictions for auto specifier and making
-			it more a mirror of a deduced template function parameter.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">See
-			restricted-auto.ppt</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			85</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">...
-			the init-declarator-list of the declaration shall not be empty
-			(except for global anonymous unions, which shall be declared
-			static). Global here means "declared at namespace scope".
-			(cf 9.5/3 "Anonymous unions declared in a named namespace or
-			in the global namespace shall be declared static.").</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"global" with "namespace scope".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			86</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2,3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			register keyword serves very little function, offering no more
-			than a hint that a note says is typically ignored. It should be
-			deprecated in this version of the standard, freeing the reserved
-			name up for use in a future standard, much like auto has been
-			re-used this time around for being similarly useless.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Deprecate
-			current usage of the register keyword.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			87</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1,
-			4, 5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Why
-			require two keywords, where one on its own becomes ill-formed?
-			thread_local should imply 'static' in this case, and the
-			combination of keywords should be banned rather than required.
-			This would also eliminate the one of two exceptions documented in
-			7.1.1p1.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Drop
-			requirement to combine static keyword with thread_local at
-			block-scope inside a function definition.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			36</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The permission to use
-			thread_local static data members is missing.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the static members as a permitted use.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			23</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.1.5
-			[constexpr]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">'constexpr'
-			functions should be allowed to take const reference parameters, as
-			long as their uses are in a context where a constant expression
-			may be required.  For example, the following should be allowed</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<typename
-			T, int N></FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">int
-			size(const T(&)[N]) { return N; }</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">int
-			a[] = { 41,42,43,44 };</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">enum
-			{ v = size(a) };</FONT></P>
-			<P STYLE="margin-top: 0.04in"><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			12</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			should be allowed to define constexpr recursively.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There is an explanation in
-			N2235, Generalized Constant Expressions—Revision 5, as
-			follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.39in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">We (still) prohibit recursion
-			in all its form in constant expressions. That is not strictly
-			necessary because an implementation limit on recursion depth in
-			constant expression evaluation would save us from the possibility
-			of the compiler recursing forever. However, until we see a
-			convincing use case for recursion, we don’t propose to allow
-			it.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Then, here are the use cases
-			where allowing recursion for constexpr is very useful.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Range of problem to be handled
-			with constexpr would become extended. For example, user defined
-			type (e.g. Complex type) could be placed in ROM area. But with
-			current specification, a function defined with constexpr cannot be
-			called recursively. As a side effect is not allowed in
-			compile-time, it cannot be implemented to repeat anything without
-			recursion. Although it could be implemented without recursion like
-			func0, func1, func2 in an example below, it is not elegant
-			solution.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">constexpr double func0(double
-			x) { /* ... */}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">constexpr double func1(double
-			x) { /* call for func0 */ }</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">constexpr double func2(double
-			x) { /* call for func1 */ }</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">/* ... */</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">- Compile-time and runtime</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">As constexpr can be also
-			evaluated both in compile-time and runtime, we need to discuss
-			about both cases.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Runtime evaluation is just to
-			execute it. If you eliminate constexpr keyword, it is executable
-			as of now. Any modern compiler may optimize tail recursion easily.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Compile-time evaluation is the
-			same thing as template recursion. It is necessary to support
-			floating point operation, but it is already possible to calculate
-			it in compile-time, so it’s ok.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">- Sample</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Here is an example to
-			calculate a square root using constexpr recursively.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">/*constexpr*/ double
-			SqrtHelper(double x, double a, int n)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">return n == 0 ? a :
-			SqrtHelper(x, (x / a + a) / 2.0, n - 1);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">/*constexpr*/ double
-			Sqrt(double x)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">return SqrtHelper(x, x, 20);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">/*constexpr*/ double root2 =
-			Sqrt(2.0); // 1.41421...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Allow constexpr recursion.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			37</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There is a "Note: 3.9.3
-			describes how cv-qualifiers affect object and function types."
-			So far as I can see, 3.9.3 CV-qualifiers only describes
-			cv-qualifiers for objects, cv-qualifiers for (member) functions
-			being described in 8.3.5 Functions.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			89</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			two normative sentences in this paragraph appear to duplicate text
-			elsewhere - but they aren't exact duplicates, which introduces
-			uncertainty. 1. "An object declared in namespace scope with a
-			const-qualified type has internal linkage unless it is explicitly
-			declared extern or unless it was previously declared to have
-			external linkage.". This nearly repeats 7.1.1/7: "Objects
-			declared const and not explicitly declared extern have internal
-			linkage." The former seems to allow more wiggle room - can an
-			object be "previously declared to have external linkage"
-			without having been "explicitly declared extern"? 2. "A
-			variable of non-volatile const-qualified integral or enumeration
-			type initialized by an integral constant expression can be used in
-			integral constant expressions (5.19)." This nearly duplicates
-			5.19/2, bullet 4, 1st sub-bullet - "[... an integaral
-			constant expression can use] an lvalue of effective integral type
-			that refers to a non-volatile const variable or static data member
-			initialized with constant expressions". The latter does not
-			allow for lvalues of enumeration type (neither scoped not unscoped
-			enumerations are integral types - 3.9.1/7, and note 44). This
-			seems to be a flaw in 5.19/2.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Make
-			the normative text in this section into one or more notes, with
-			cross references, and correct the referenced text if necessary.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			90</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">para
-			1 and table 9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			grammar in paragraph one makes "nested-name-specifier
-			template simple-template-id" a simple-type-specifier, but
-			unlike all the others it is omitted from table 9.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a row to table 9 mentioning simple-template-id and punting to
-			clause 14 (cf decltype(expression)).</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			91</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">5.1/5
-			says "[A] parenthesized expression can be used in exactly the
-			same contexts as those where the enclosed expression can be used,
-			and with the same meaning, except as otherwise indicated."
-			When the first bullet point of this paragraph, describing the type
-			denoted by decltype(e), says "if e is an id-expression ...
-			decltype(e) is the type of the entity named by e", 5.1/5 is
-			not excluded, which would imply that decltype((e)) was also the
-			type of e. But the intention appears that it should be caught by
-			the third bullet and treated as an lvalue expression, so
-			decltype((e)) should be a reference to the type of e. Conversely,
-			the second bullet point says "(parentheses around e are
-			ignored)", which is redundant because of 5.1/5.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			"unparenthised" in the first bullet point - "if e
-			is an *unparenthised* id-expression ...". In the second
-			bullet point, move "(parentheses around e are ignored)"
-			into a note.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			92</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			note correctly indicates that, if T is a template type parameter,
-			then "friend class T;" is ill-formed. It might be worth
-			pointing out at the same time that the alternative "friend
-			T;" is now allowed - see 11.4/3.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			strike the note or add reference to 11.4/3 and/or mention of
-			"friend T;".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			93 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Grammar
-			before para 1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the third production, "enum ::opt nested-name-specifieropt
-			identifier", enum should not be in italics; its referring to
-			the enum keyword.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			to keyword font</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			94</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			auto type-specifier signifies that the type of an object being
-			declared shall be deduced from its initializer or specified
-			explicitly at the end of a function declarator. A function
-			declarator does not declare an object.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			auto type-specifier signifies that the type of an object being
-			declared shall be deduced from its initializer or that the return
-			type of a function is specified explicitly at the end of a
-			function declarator. </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			95</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">(See
-			also c++std-core-13583) This paragraph allows auto "in the
-			type-specifier-seq in a new-type-id (5.3.4)" (and nowhere
-			else not listed). Specifically, it isn't allowed in a type-id in a
-			new-expression. That allows "new auto (42)", but not
-			"new (auto)(42)". However, 5.3.4/2 suggests the latter
-			should be allowed "If the auto type-specifier appears in the
-			type-specifier-seq of a new-type-id or type-id of a new-expression
-			...". The inconsistency should be resolved, ideally in favour
-			of allowing both forms.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"in a new-type-id" to "in a new-type-id or type-id
-			in a new-expression".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			24</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.1.6.4
-			[auto specifier]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Now
-			that 'auto' is finally used in its most obvious sense to state
-			`deduce the type of this variable from initializer', it should
-			also be allowed in template parameter declarations, as in</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<auto
-			n> struct X { /* … */ };</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">X<903>
-			x;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">X<&Widget::callback>
-			y;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">instead
-			of the current, often verbose and cumbersome</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 10pt" FACE="Consolas, monospace">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="fr-FR">template<typename
-			T, T n> struct X { /* … </SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">*/
-			};</FONT></FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">X<int,903>
-			x;</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">X<void
-			(Widget::*)(),&Widget::callback> y;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			understand that 'auto' is used in 14.1/18 in a different way (for
-			constrained template), but that usable appears very strange
-			syntax, unnatural and does not fit well with the usage in this
-			section.</FONT></P>
-			<P STYLE="margin-top: 0.04in"><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			38</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The discussion of attribute
-			specifiers should be a separate paragraph.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			39</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The paragraph says in part "An
-			opaque-enum-declaration declaring an unscoped enumeration shall
-			not omit the enum-base." This statement implies that the base
-			may be omitted for scoped enumerations, which is somewhat
-			inconsistent with paragraph 3 and somewhat consistent with
-			paragraph 5.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">As
-			this implication leaves no representation, it should be either
-			affirmed here or the statement should be expanded. Perhaps a note
-			is warranted.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			13</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">paragraph
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In the description for an
-			unscoped enumeration, enum-base in redeclaration must be the same
-			underlying type as in the 1st declaration, but it is not described
-			explicitly, while it is referred that all enum-bases in
-			redeclarations must specify the same underlying type.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the description, "same underlying type", with "same
-			as underlying type of (previous) declaration."</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			96</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">enum
-			E { }; What are the values of E? It has neither a smallest nor
-			largest enumerator, so paragraph 7 doesn't help. (Paragraph 6
-			indicates that the underlying type is as if E had a single
-			enumerator with value 0, but that does not define the values of
-			E.)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a second sentence to paragraph 7 (before "Otherwise"):
-			"If the enumerator-list is empty, 0 is the only value of the
-			enumeration."</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			97</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			punctuation after "blue" in: "The possible values
-			of an object of type color are red, yellow, green, blue these
-			values can be converted ..."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a semicolon: "The possible values of an object of type color
-			are red, yellow, green, blue; these values can be converted ..."</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			98</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			would be useful to be able to determine the underlying type of an
-			arbitrary enumeration type. This would allow safe casting to an
-			integral type (especially needed for scoped enums, which do not
-			promote), and would allow use of numeric_limits. In general it
-			makes generic programming with enumerations easier.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a TransformationTrait to 20.5.6 that returns the underlying type
-			of an enumeration type.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			99</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is unclear whether an enumeration type is complete after an
-			opaque-enum-declaration. This paragraph only says so in a note,
-			and the general rule in 3.9/5 ("Incompletely-defined object
-			types ... are incomplete types") is unclear in this
-			situation.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			"an enumeration declared by an opaque-enum-declaration ... is
-			a complete type" from the note to normative text.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			14</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The description of the
-			behavior when a member that was defined with same name in other
-			namespace was referred.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.45in; text-indent: -0.25in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">- It seems that the behavior
-			of the following case is not defined. So we think that it is
-			necessary to define that.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace Q {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">inline namespace V {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">int g;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">int g;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.67in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Q::g =1;// ill-fromed, Q::V::g
-			=1;, or Q::g = 1;?</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.45in; text-indent: -0.25in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">- Add that the following case
-			is ill-formed to more easily to understand.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace Q {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">inline namespace V1{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">int g;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">inline namespace V2{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">int g;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.5in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.44in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Q::g =1;//ill-formed</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.44in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add the description of the
-			behavior when a member that was defined with same name in other
-			namespace was referred.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			100</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">10
-			and 13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Para
-			10 says "A using-declaration is a declaration and can
-			therefore be used repeatedly where (and only where) multiple
-			declarations are allowed." Para 13 says "Since a
-			using-declaration is a declaration, the restrictions on
-			declarations of the same name in the same declarative region (3.3)
-			also apply to using-declarations." These appear to be saying
-			exactly the same thing.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			para 10, moving its example into para 13.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			101</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">If
-			a using-declaration uses the keyword typename and specifies a
-			dependent name (14.6.2), the name introduced by the
-			using-declaration is treated as a typedef-name (7.1.3). That
-			doesn't specify at all what the effect of using typename with a
-			non-dependent name is. Is it allowed? What about outside any
-			template? What if the name isn't a type? (14.6/4 doesn't cover
-			this, I think.)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Allow
-			typename for non-dependent names iff they refer to a type.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-12</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p15</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-12
-			Overriding and hiding of member functions named in
-			using-declarations should consider ref-qualifiers, because they
-			are part of the function type.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			25</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.3.3
-			 [The using declaration]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Paragraph
-			21</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			syntax for concept map alias is unnecessarily both confused and
-			verbose.</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			strongly suggest simplifications, e.g.</FONT></P>
-			<P STYLE="margin-bottom: 0in">   
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">using
-			N1::C<int>;</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">that
-			fits well with existing constructs.  The syntactic complexity is
-			too high for a new feature presumably designed to support sound
-			programming.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			102</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph says "If name lookup finds a declaration for a name
-			in two different namespaces, and the declarations do not declare
-			the same entity and do not declare functions, the use of the name
-			is ill-formed." But the example uses declaration of
-			functions, so is not covered by this paragraph.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the example to paragraph 7, and/or replace it with an appropriate
-			example.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			40</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			list of attributes is missing an attribute to indicate that a
-			function with a </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">throw()</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			(throws nothing) clause need not have the </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">unexpected()</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			catch clause generated. This attribute was a motivating example
-			for the attribute syntax, and its omission is surprising.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the attribute.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			41</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">A common problem is
-			unintentionally declaring a new virtual member function instead of
-			overriding a base virtual member function.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">An
-			attribute stating intent to override would enable better
-			diagnostics.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			26</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">7.6
-			[Attributes]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Are
-			they part of object types or not?  The section does not appear to
-			indicate that clearly.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">7.6</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			override-attribute for functions in order to avoid mistakes when
-			overriding functions.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">See
-			override­-attribute.doc, override-attribute.ppt</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			27</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">7.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			section specifies that no name lookup is performed on any
-			identifier contained in an attribute-token.  This in particular
-			implies that, for example, it is impossible to define a template
-			class parameterized by its alignment.  That restriction is
-			unacceptable.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			original alignment proposal made that useful construct possible.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Furthermore
-			paragraph 7.6.1/2 appears contradictory with the rest of that
-			section -- since no name lookup is performed, how a 'type-id'is
-			determined?</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			103</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Attributes
-			should support pack expansion. For example, this would be
-			extremely useful with the align attribute, directly supporting the
-			(removed) functionality of aligned_union. NOte that aligned_union
-			was removed as varaiant-unions were considered a complete
-			replacement - however this is not true for variadic templates.
-			Adding this support to attributes would remove the remaining need,
-			and support similar attributes in the future.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add:
-			attribute... to the grammar for attribute-list Add to list in
-			14.5.3p4: "In an attribute-list(7.6.1); the pattern is an
-			attribute." </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			104</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is helpful for each subclause to contain a short paragraph
-			introducing its intent an purpose. 7.6 has such a paragraph, but
-			it is nested under a more specific subsection.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.6.1p1
-			should move up one level to become 7.6p1. There grammar should
-			remain under 7.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			105</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Allowing
-			only one level of namespaces in attributes seems unnecessarily
-			limiting.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">To:
-			attribute-scoped-token: attribute-namespace :: identifier add
-			attribute-namespace :: attribute-scoped-token </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			106</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Extensive
-			use of alignment and related terms without cross reference.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			cross-reference to 3.11.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			15</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">An
-			abbreviation of 7.6.2 should be “[decl.attr.align]”
-			instead of “[dcl.align]”.<BR>Section name
-			“[dcl.align]” is not consistent with others, because
-			others in 7.6 are the form of “dcl.attr.*”. In N2761,
-			the section name of 7.1.7 had been changed from “[dcl.align]”
-			to “[dcl.attr.align]”, but in N2800 it was reverted to
-			“[dcl.align]” along with a change of section number,
-			7.1.7 to 7.6.2.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"[dcl.align]" of 7.6.2 to "[decl.attr.align]".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			107</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">While
-			undefined behaviour might be the best we can guarantee, it would
-			be helpful to encourage implementations to diagnose function
-			definitions that might execute a return.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Adda
-			a [Note : implementations are encouraged to issue a diagnostic
-			where the definition of a function marked [[noreturn]] might
-			execute a return statement -- end note]</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			108</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is unclear why no diagnostic is required for an easily detectable
-			violation. It is even more surprising that the associated footnote
-			mandates behaviour for an ill-formed program.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			"no diagnostic required" and the associated footnote.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			42</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">7.6.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			meaning of the </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[[final]]</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			attribute applied to classes is inconsistent with other languages
-			and not desirable in its own right.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Modify
-			the semantics of </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[[final]]</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			 applied to classes.  See the attached paper "Issues with the
-			C++ Standard"  under Chapter 7 "Meaning of </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">[[final]]</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			attribute applied to classes".</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			109</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			example code refers in comments to "Compilation unit" A
-			and B. The term should be "Translation unit" (2/1)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"Compilation" with "Translation" in two places</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			110</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7.6.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			code in the example (compilation unit A) has:
-			"foo_head[i].load(memory_order_consume)". foo_head[i] is
-			of type foo *, so it does not have a load member.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the type of foo_head to atomic<foo *>[].</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			43</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">With
-			the introduction of late-specified return types for functions and
-			lambda expressions, we now have three different syntaxes for
-			declaring functions. The </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">-></FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			late declaration is used in two. The </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">auto</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			keyword is used in one, but also used differently in variable
-			definitions.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Some
-			simplification is needed.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			111</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Example
-			missing closing bracket in template<typename... T> void f(T
-			(* ...t)(int, int);</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			closing bracket like this: template<typename... T> void f(T
-			(* ...t)(int, int));</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			44</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">8.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">13</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In the Example, "template
-			void f(T (* ...t)(int, int);" is missing a close parenthesis.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			presumably should read: "template void f(T (* ...t))(int,
-			int);".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			45</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">8.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">At
-			present, function parameter packs can only occur at the end of a
-			parameter-declaration-list. This restriction unnecessarily
-			prohibits uses of function parameter packs in cases where template
-			argument deduction isn’t needed, e.g.,</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<class...
-			T> struct X { };</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<class...
-			T1, class... T2></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">struct
-			X<pair<T1, T2>...> {</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">void
-			f(T1..., T2...);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">};</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">More
-			importantly, this restriction is inconsistent with the way pack
-			expansions are handled. For example, this template is well-formed
-			(but X<T..., int> is a non-deduced context):</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<class...
-			T>  void f(X<T..., int>);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Therefore,
-			the restriction that limits function parameter packs to the end of
-			the parameter-declaration-list should be removed. Instead,
-			function parameter packs not at the end of the
-			parameter-declaration-list should be considered non-deduced
-			contexts.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			8.3.5p13, remove the sentence “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">A
-			function parameter pack, if present, shall occur at the end of the
-			parameter-declaration-list.”</SPAN></FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">In
-			14.8.2.1p1, replace the phrase “For a function parameter
-			pack” with “For a function parameter pack that occurs
-			at the end of a </SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG=""><I>parameter-declaration-list</I></SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">”.</SPAN></FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">Replace
-			the note text “A function parameter pack can only occur at
-			the end of a parameter-declaration-</SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">list
-			(8.3.5).” with “A function parameter pack that does
-			not occur at the end of a  parameter-declaration-list is a
-			non-deduced context.”</FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.8.2.5p5, add a new bullet: “A function parameter pack
-			that does not occur at the end of its parameter-declaration-list.”</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.8.2.5p10, replace “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">If
-			</SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">the
-			parameter-declaration corresponding to Pi is a function parameter
-			pack” with “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">If
-			</SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">the
-			parameter-declaration corresponding to Pi is a function parameter
-			pack and Pi occurs at the end of the parameter-declaration-list”.
-			</FONT></FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Replace
-			</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">the
-			note text “A function parameter pack can only occur at the
-			end of a parameter-declaration-</SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">list
-			(8.3.5).” with “A function parameter pack that does
-			not occur at the end of a  parameter-declaration-list is a
-			non-deduced context.”</FONT></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-13</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">8.4
-			</FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-13
-			The second paragraph, quoting the grammar for the declarator of a
-			function declaration, is not considering late-specified return
-			types and attributes.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Properly
-			quote the grammar from 8.3.5.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			16</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">8.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">15</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo, duplicated "in"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">"The
-			initialization that occurs in in the forms"</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			one.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			46</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">8.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			ability for an rvalue reference to bind to an lvalue opens a
-			type-safety hole that becomes very dangerous with concepts. For
-			example, consider vector’s push_back operation:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requires
-			MoveConstructible<T> void push_back(T&&);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requires
-			CopyConstructible<T> void push_back(const T&);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">For
-			a copy-constructible T (which is also move-constructible),
-			push_back does the right thing. However, if T is something that is
-			move-constructible (e.g., unique_ptr<int>), the second
-			overload is removed from considered (it is effectively SFINAE’d
-			away), so only the first overload remains. Therefore, one could
-			accidentally call push_back with an lvalue of type T, and
-			push_back would silently move from the lvalue. The same problem
-			occurs without concepts (albeit less frequently).</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Prohibit
-			rvalue references from binding to lvalues.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Unfortunately
-			this change will break some current use cases of rvalue reference
-			including the use of rvalue streams, and of the forward function
-			itself.  To resolve this we may want to consider three types of
-			references:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<OL>
-				<LI><P ALIGN=LEFT STYLE="margin-bottom: 0in">
-                <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-				current reference.</FONT></P>
-				<LI><P ALIGN=LEFT STYLE="margin-bottom: 0in">
-                <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">A
-				non-const reference that only binds to rvalues.</FONT></P>
-				<LI><P ALIGN=LEFT STYLE="margin-bottom: 0in">
-                <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">A
-				non-const reference that will bind to both lvalues and rvalues.</FONT></P>
-			</OL>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Still
-			another solution would be to adopt the “deleted function”
-			solution for all functions.  This solution is described in comment
-			for 12.1, 12.4, 12.8, but restricted to special functions in that
-			comment. (See US NN).</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			49</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">8.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the Example, the comments could be improved.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">See the attached paper "Issues
-			with the C++ Standard" under "Editorial Issues" and
-			"8.5.4/6".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			112</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4-9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">We
-			now have concepts that should (or should not?) map to the terms
-			described in Clause 9 - these should be at least referenced.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			appropriate forward references to 14.9.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			113</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9.4.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Mis-applied
-			edit from the paper n2756</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			term 'constant-initializer' should have been struck out when
-			replaced by brace-or-equal-initializer. There are two occurrences
-			in this paragraph</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			50</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">12.1,
-			12.4, 12.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Implicitly-declared
-			default constructors, destructors, copy constructors, and copy
-			assignment operators are deleted when their definitions would be
-			ill-formed. However, unlike with overloading and template argument
-			deduction, access control is performed as part of the check for
-			making one of these special function deleted. This inconsistency
-			should be removed.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			change would sacrifice some backward compatibility in favor of
-			consistency. With the current wording, checking that the following
-			class ‘A’ is CopyConstructible would proceed without
-			error (it is not CopyConstructible):</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">class
-			A { A(const A&); };</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">With
-			the proposed change, testing whether A is CopyConstructible would
-			produce a diagnostic. To fix the problem, the user would have to
-			use a deleted function:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">class
-			A { A(const A&) = delete; };</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			12.1p5, remove the phrase “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">
-			or inaccessible from the implicitly-declared default </SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">constructor”.</FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			12.4p3, remove the phrase “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">or
-			a destructor that is inaccessible from the implicitly-declared
-			destructor,” and the phrase “or a destructor that is
-			inaccessible from the </SPAN></FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">implicitly-declared
-			destructor</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">”.</SPAN></FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			12.8p5, remove the phrase “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">
-			or inaccessible from the implicitly-declared copy constructor”
-			from the two places it occurs.</SPAN></FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			12.8p10, remove the phrase “</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="">or
-			inaccessible from the implicitly-declared copy assignment
-			operator” from the two places it occurs.</SPAN></FONT></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			28</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">12.6.1
-			 [Explicit initialization]</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			section, in particular the example with `g' appears contradictory
-			with the syntax for uniform initialization.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			51</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">12.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The discussion of delegating
-			constructors should be in its own paragraph.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			114</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Despite
-			all the attempts to unify initialization syntax, it is still not
-			possible to copy-initialize base classes or non-static data
-			members, which means the explicit keyword cannot have a bearing
-			during evaluation of a constructor. A minimal addition to the
-			grammar, allowing an optional = between the mem-initializer-id and
-			braced-init-list would allow the user to choose between copy and
-			direct initialization</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Ammend
-			the grammar for mem-initializer: mem-initializer-id =OPT
-			braced-init-list Extend p3 to allow for Copy Initialization if the
-			optional = is present: 3 The expression-list or braced-init-list
-			in a mem-initializer is used to initialize the base class or
-			non-static data member subobject denoted by the mem-initializer-id
-			according to the initialization rules of 8.5 for
-			direct-initialization, OR COPY-INITIALIZATION IF THE OPTIONAL = IS
-			PRESENT BETWEEN THE MEM-INITIALIZER-ID and the BRACED-INIT-LIST.
-			[Example:...</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			52</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">13.5.8</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">A
-			word is misspelled.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			“shal” to “shall”.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			115</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6-11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Exported
-			templates were a great idea that is generally understood to have
-			failed. In the decade since the standard was adopted, only one
-			implementation has appeared. No current vendors appear interested
-			in creating another. We tentatively suggest this makes the feature
-			ripe for deprecation. Our main concern with deprecation is that it
-			might turn out that exported constrained templates become an
-			important compile-time optimization, as the constraints would be
-			checked once in the exported definition and not in each
-			translation unit consuming the exported declarations.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			deprecating exported templates, but no action yet. Examine
-			interaction with constrained templates, and see if other more
-			appropriate mechanism will support compile-time optimization.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			116</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6-11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Is
-			it possible to export a concept map template? The current wording
-			suggests it is possible, but it is not entirely clear what it
-			would mean.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			prohibit exporting concept map templates, or more directly address
-			what it means to export a concept map.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			117</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			would be nice to allow template alias within a function scope, and
-			possibly a scoped concept map. As these affect name lookup and
-			resolution, rather than defining new callable code, they are not
-			seen to present the same problems that prevented class and
-			function templates in the past.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Allow
-			template aliases to be declared inside a function scope, and
-			consider scoped concept maps.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			118</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6-11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Exported
-			templates are a complicated feature with surprisingly little text.
-			To make this important text more visible, split it off into its
-			own subclause [temp.export]</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Create
-			a new subclause [temp.export] containing 14p6-11. Move 14p12 ahead
-			of this subclause.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			119</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Does
-			a concept map have linkage? Reading this paragraph and 3.5
-			suggests a concept map template has external linkage, but not a
-			'regular' concept map. Believe this is an oversight that the
-			linkage words were not updated to provide an exception, rather
-			than linkage of concept maps is intended.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			an exception that concept map templates have no linkage, or add
-			concept maps to the list of entities with linkage in 3.5</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			120</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">As
-			this is the first time the phrase “parameter pack”
-			appears in Ch 14 I would like to see the section 8.3.5 referenced
-			here (as well as in 14.1p17).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			“(8.3.5)” after “parameter pack” </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			121</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			example (that follows the normative text) has no begin example
-			marker</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Prefix
-			the example code with "[ Example:" </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			29</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.3
-			[Template arguments]</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Constant
-			expressions of any literal type should be allowed as template
-			arguments.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			53</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">If
-			the requirements of a constrained member that is a copy
-			constructor, copy assignment operator, or destructor are not
-			satisfied, then that user-declared special function will not
-			exist. It appears that, in this case, the special function will
-			then be </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><I>implicitly</I></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">
-			defined, which is likely to either (a) fail to compile or (b)
-			produce a function with the wrong semantics. For example:</FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<ObjectType
-			T> class vector {</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">T*
-			first, last, end;</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">public:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requires
-			CopyConstructible<T> vector(const vector&);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">};</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">If
-			instantiated with a type that is not CopyConstructible, vector
-			will get an implicitly-defined copy constructor that performs a
-			copy of the pointers.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Add
-			to 14.5.1p5:</FONT></P>
-			<P ALIGN=LEFT>  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">If
-			the constrained member is a copy constructor (12.8), destructor
-			(12.4), or copy assignment operator and its template requirements
-			are not satisfied, then a copy constructor, destructor, or copy
-			assignment operator, respectively, with the same signature as the
-			constrained member (after substituting the class template’s
-			template arguments for its template parameters) will be declared
-			as a deleted function (8.4).</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			122</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Variadic
-			templates should be supported in axioms. There are axioms in the
-			library that rely on this feature, such as the FrontEmplacement
-			axiom in FrontEmplacementContainer (23.1.6.1p10)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			clarification in p2 that function parameter packs can be used to
-			declare axioms, much like p1 clarifies they can be used to declare
-			concepts as well as templates.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			30</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.5.7
-			[Template aliases]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">When
-			are two template alias names equivalent?</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">E.g.
-			given</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<template<class>
-			class> struct X { };</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<typename,typename>
-			struct Y { };</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<typename
-			T></FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">using
-			Z1 = Y<int,T>;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template<typename
-			T></FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">using
-			Z2 = Y<int,T>;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Are
-			the types X<Z1> and X<Z2> equivalent?</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			would suggest yes (since Z1<T> and Z2<T> are the same
-			for all T), but we do not see any wording to that effect.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			17</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">14.7.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 15</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">if that namespace is inline,
-			any namespace from its enclosing namespace set.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">if
-			that namespace is inline, any namespace </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">forming</FONT><FONT SIZE=2 STYLE="font-size: 9pt">
-			its enclosing namespace set.</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"from" with "forming"</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-14</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.7.3
-			</FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-14
-			The bulleted list neither addresses "member function template
-			of a class" nor "member class template of a class".</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the respective bullets.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			18</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">14.7.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">any namespace from its
-			enclosing namespace set</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">any
-			namespace </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">forming</FONT><FONT SIZE=2 STYLE="font-size: 9pt">
-			its enclosing namespace set</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"from" with "forming"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			19</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">14.8.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo, duplicated "is"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"At
-			certain points in the template argument deduction process it <U>is
-			is</U> necessary"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">Remove one</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			54</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">14.9
-			[concept],</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.10
-			[temp.constrained]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Concepts is
-			of course the largest new feature in C++0x (in terms of new text
-			inserted into the wording), and already we have found some
-			significant defects with it.  So far nothing devastating has been
-			found, but more time is needed to shake more bugs out.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">I
-			propose no specific change here. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			55</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			paragraph number is in the wrong place, causing a grammar rule to
-			be indented more than its fellows.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the paragraph number so as to follow the grammar rules, thus
-			numbering the single sentence, “The body of a concept …
-			.”</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			56</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			sentence contains two references to 14.9.1.3 [concept.req].</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the second such reference (at the end of the sentence) to 14.9.1.4
-			[concept.axiom].</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			57</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">A
-			word is misplaced, changing the intended meaning.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			“only find … if” to “find … only
-			if”.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			58</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			listed phrases are not grammatically parallel.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			“in” before “one” so as to obtain “...
-			in the concept, in one of its less refined concepts, or in an
-			associated requirement.”</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			59</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Axioms
-			are under-specified and provide little benefit to programmers, so
-			they should be removed from the working paper. The optimizations
-			permitted by axioms (see 14.9.1.4p4-5) are not compulsory (and,
-			therefore, programmers cannot rely on them) and the semantics
-			expressed by axioms cannot be verified by any implementation. The
-			resulting specification has lead to great confusion (see the
-			reflector thread “Are floating point types Regular?”
-			starting with c++std-lib-22717). Given the level of confusion and
-			the inability to verify the correctness of axioms, it is likely
-			that many axioms written by programmers (including those specified
-			in the candidate draft) will be incorrect.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			clause 14.9.1.4 [concept.axiom]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			2.11p1, remove “axiom” from the list of keywords.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.5.8p7, remove “, or if the resulting concept map fails to
-			satisfy the axioms of the corresponding concept”</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.9.1p6, remove axiom-definition from the list of grammar
-			productions for concept-member-specifier. Remove “, and
-			axioms” from the final sentence, and instead “and”
-			prior to “associated requirements” in the final
-			sentence.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			paragraph 14 of clause 14.9.2.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.10.1p6, remove the sentence, “When the
-			concept-instance-alias-def appears in the optional requires-clause
-			of an axiom-definition (14.9.1.4), the potential scope of the
-			identifier begins at its point of declaration and terminates at
-			the end of the axiom-definition.”</FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=3 FACE="Helvetica, sans-serif">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			clauses 20.2.5, 20.2.8, 23.1.6.1, 23.1.6.2, and 24.1.4, remove the
-			axiom-definitions and replace them with paragraphs (denoted
-			Requires,  Postconditions, or Effects, as appropriate) that
-			express the intended semantics of the concepts from which the
-			axiom-definitions were removed.</FONT></FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			24.1.4p2, replace the word “axiom” with “condition.”</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			31</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.9.1.4
-			[Axioms]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">This
-			section states that an axiom-definition defines a new semantics
-			axiom but is unusually vague as to what those semantics might be.</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			use of the '==' and '!=' with completely new semantics, unrelated
-			to anything we have seen before in C++ is both unwise and
-			confusing, especially if the types involved in the expressions
-			happen to have operator== and operator!= defined.</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 10pt" FACE="Consolas, monospace">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			strongly suggest use of different tokens, e.g. </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Wingdings"></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">,
-			and opposed to this obscure usage/overload.</FONT></FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			description is very vague.  How many times is an implementation
-			permitted to replace one expression by another one when they have
-			side effects?</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-15</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-15
-			There is no implementation experience for axioms. Use of axioms is
-			an area of active scientific research. It is likely that syntax
-			changes will become necessary to make good use of axioms; having
-			the syntax space already crowded is unhelpful. Axioms ought to be
-			useful in concepts applicable to floating-point types (such as
-			EqualityComparable), but IEEE floating-point types have special
-			values such as NaN violating the axioms.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			section 14.9.1.4 and any reference to axioms in the rest of the
-			proposed standard other than the keyword reservation in section
-			2.11.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			123</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">auto
-			concepts and axioms are incompatible. An axiom defines the
-			semantics of an operaton or set of operations that describes the
-			run time behaviour. A concept describes purely syntactic
-			requirements at compile time. Where an auto concept will match
-			anything that meets the syntax requirements, there is no way to
-			know if the axioms will be met or not, and no way to opt out via
-			some kind of negative concept map.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a paragraph making axioms ill-formed inside an auto concept.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK<BR> 124</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Spelling
-			mistake, double-e in were.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">weere
-			-> were</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			125</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			implicit equality comparison operator available to axioms has no
-			semantic. It is not clear what expressing the condition if( a == b
-			) { conditional-axiom } would mean if a and b are not truly
-			EqualityComparable. We suspect the intent of the 'implicit
-			defefinition' is to support declaring the equivalence of
-			statements, a context where the operator will not actually be
-			evaluated.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			the semantics of the implicitly declared comparison operators, or
-			restrict their usage to declaring equivalence between statements.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			126</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">41</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph contains the only definition of the underlying_type
-			member - but it's a note, so not normative.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the second sentence to the Requires clause in paragraph 42.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			127</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a diagram clearly showing refinement relationship between the
-			different support concepts. Several were created during
-			development of this clause and they were very helpful.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			the diagram. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			128</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.9.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is surprising for many people that non-copyable move-only types
-			can be used with a return statement, and so Returnable does not
-			always imply CopyConstructible.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			non-normative note: [Note: 'move only' types that are
-			constructible from rvalue references may be Returnable, but not
-			CopyConstructible(20.1.8) - end note]</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			20</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">14.9.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.2in; text-indent: -0.2in; margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Trivially copyable type was
-			added in “3.9 Types”, so we think that it is necessary
-			to add concept to trivially copyable type like
-			“TriviallyCopyableType”.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.2in; text-indent: -0.2in; margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add TriviallyCopyableType that
-			is trivially copyable type as concept.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			129</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">14.10.1,
-			20.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			should be possible to support boolean constant expressions as
-			requirements without resorting to defining the True concept in the
-			library. Boolean expressions are very likely to be constraints
-			when deadline with non-type template parameters and variadic
-			templates, and constraints in these cases should feel just as
-			natural as constraints on the type system.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the True concept and library subclause 20.1.2. Provide support in
-			14.10.1 for boolean constant expressions as constraints. This may
-			involve overloading the true keyword to disambiguate but ideally
-			would not.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			60</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">14.10.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			use of && as the separator for a list of requirements has
-			shown itself to be a serious teachability problem. The mental
-			model behind ‘&&’ treats concepts as simple
-			predicates, which ignores the role of concepts in type-checking
-			templates. The more programmers read into the ‘&&’
-			(and especially try to fake || with && and !), the harder
-			it is for them to understand the role of concept maps. Simply
-			changing the separator to ‘,’ would eliminate a
-			significant source of confusion.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Replace
-			</FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement-list:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">      
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement-list
-			... [opt] && requirement</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">      
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement
-			... [opt]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">with</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement-list</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">    
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement-list
-			...[opt] , requirement</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">    
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">requirement
-			... [opt]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			14.5.4p6, replace the first sentence with: </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			instantiation of an expansion produces a comma-separated list E1,
-			E2, ..., EN, where N is the number of elements in the pack
-			expansion parameters.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			130</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">With
-			the new crrent_exception API it is possible to capture a reference
-			to an exception that will outlive its last active handler. That is
-			in conflict with the sentance "When the last remaining active
-			handler for the exception exits by any means other than throw; the
-			temporary object is destroyed and the implementation may
-			deallocate the memory for the temporary object;"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Update
-			sentence to allow for exceptions held in excpetion_ptr objects. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			131</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			handler catching its parameter by rvalue-reference is
-			syntactically valid, but will never be activated.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Disallow
-			handlers catching by rvalue-reference.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			132</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">16</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			are obscure cases whrere a copy constructor is not usually the
-			best match to copy-initialize an object, e.g. A converting
-			constructor template taking arguments by non-const reference. A
-			footnote explaining such cases would be helpful, or the sentance
-			could be rewritten using copy-initialization instead of directly
-			calling a copy constructor.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Rewite
-			using copy-initialization rather than directly invoking the copy
-			constructor </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			133</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Template
-			aliases have the same semantics as a typedef so should also be
-			disallowed</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">add
-			"or alias-declaration" after "shall not appear in a
-			typedef declaration". </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			134</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			sentance "An exception-specification can also include the
-			class std::bad_exception (18.7.2.1)." is redundant.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			strike the quoted sentance, or add a note explaining why it is
-			worth calling special attention to this class. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			135</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Unclear
-			if std::unexpected is called before or after the function
-			arguments have been destroyed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			the sequence of calling unexpected with respect to interesting
-			objects, such as function arguments or partially constructed bases
-			and members when called from a constructor or destructor </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			136</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Exception
-			specifications have proven close to worthless in practice, while
-			adding a measurable overhead to programs. The feature should be
-			deprecated. The one exception to the rule is the empty throw
-			specification which could serve a legitimate optimizing role if
-			the requirement to call the runtime unexpected mechanism was
-			relaxed in this case.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			15.4 and the parts of 15.5 that refer to it to Appendix D. Replace
-			15.4 with a simpler specification for empty throw specifications,
-			where the std::unexpected call is conditionally supported allowing
-			vendors to choose between optimizing and providing runtime checks.
-			Ideally require vendors to provide a mode where the runtime checks
-			are always disabled. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			137</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is no mention of the current_exception API which can extend the
-			lifetime of an exception object. There should at least be a
-			forward reference to the library clause 18.7.5</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			another paragraph outlining 18.7.5 and the ability of an
-			exception_ptr to extend the lifetime of an exception object </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			138</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			third bullet is redundant with the first, as it is a subset of the
-			same conditions.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Merge
-			the third bullet into the first bullet as a note or example. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			139</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">According
-			to the first bullet it is perfectly alright for a library function
-			to exit by throwing an exception during stack unwinding, This is
-			clearly not true.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the word 'user' from the first bullet point. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			140</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.5.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			detailed specification can fool people into thinking an exception
-			will automatically be translated into bad_exception, where the
-			default behaviour of std::unexcepted is to immediately call
-			std::terminate();</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a note highlighting the default behaviour of std::unexpected if
-			the user does not supply a hander-function </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			141</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">15.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			whole subclause is redundant due to 15.1p5 and 15.3p17</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			15.6 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			142</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">16.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph opens with "[ Note" but has no corresponding
-			"end note ]"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"end note ]"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			143</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">16.3.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Example
-			uses #define t(x,y.z) x ## y ## z</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"x,y.z" to "x,y,z"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">17-30</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge/te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The active issues identified
-			in WG21 N2806, C++ Standard Library Active Issues, must be
-			addressed and appropriate action taken.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT COLOR="#000080" SIZE="2" style="font-size: 11pt"><U>http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Appropriate
-			action would include making changes to the CD, identifying an
-			issue as not requiring a change to the CD, or deferring the issue
-			to a later point in time.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">General
-			Comment</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Library</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ge</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			adoption of the library `constexpr' proposal was not reflected in
-			the draft, despite formal WG21 committee vote.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">General
-			Comment</FONT></P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			61</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">17
-			onward</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			concepts core language feature is applied to only some of the
-			Standard Library clauses, and even then not always consistently.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Review
-			all clauses of the Standard Library, and consistently apply
-			concept technology wherever possible and appropriate.  The
-			proposed wording in WG21 N2781 exemplifies the necessary level of
-			detail.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">CA-2</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-top: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">17
-			Library</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			“<FONT SIZE=2 STYLE="font-size: 9pt">Concepts” are a
-			significant new addition to the language, but are not exploited
-			uniformly in the library as documented in CD 14882.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Fix the standard library so
-			that “Concepts” are used appropriately in the library.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			62</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">17-30</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Provide
-			concepts and requirements clauses for all standard library
-			templates</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			63</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">17-30</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			behavior of the library in the presence of threads is incompletely
-			specified.</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">For
-			example, if thread 1 assigns to X, then writes data to file f,
-			which is read by thread 2, and then accesses variable X, is thread
-			2 guaranteed to be able to see the value assigned to X by thread
-			1? In other words, does the write of the data "happen before"
-			the read?</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Another
-			example: does simultaneous access using operator at() to different
-			characters in the same non-const string really introduce a data
-			race?</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">17
-			through 30</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-2
-			Marking a constructor with "explicit" has semantics even
-			for a constructor with zero or several parameters: Such a
-			constructor cannot be used with list-initialization in a
-			copy-initialization context, see 13.3.1.7. The standard library
-			apparently has not been reviewed for marking non-single-parameter
-			constructors as "explicit".</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			marking zero-parameter and multi-parameter constructors "explicit"
-			in classes that have at least one constructor marked "explicit"
-			and that do not have an initializer-list constructor.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			21</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">17 Library</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">21.2, 21.4,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.2,
-			27.6, 27.7, 27.8.1, 28.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Support of char16_t/char32_t
-			is insufficient. The basic_xxx classes of <iostream>,
-			<fstream>, <regex>, etc. does not have typedefs for
-			char16_t/char32_t.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Functions such as stoi,
-			to_string in ‘21.4 Numeric Conversion’ does not
-			support char16_t/char32_t types.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add commented lines
-			corresponding to char16_t, char32_t.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">21.2 paragraph1 </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">// 21.4: numeric
-			conversions </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">int stoi(const
-			u16string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long stol(const
-			u16string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">unsigned long
-			stoul(const u16string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long long stoll(const
-			u16string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">unsigned long long
-			stoull(const u16string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">float stof(const
-			u16string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">double stod(const
-			u16string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long double stold(const
-			u16string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u16string
-			to_u16string(long long val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u16string
-			to_u16string(unsigned long long val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u16string
-			to_u16string(long double val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">int stoi(const
-			u32string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long stol(const
-			u32string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">unsigned long
-			stoul(const u32string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long long stoll(const
-			u32string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">unsigned long long
-			stoull(const u32string& str, size_t *idx = 0, int base = 10); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">float stof(const
-			u32string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">double stod(const
-			u32string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">long double stold(const
-			u32string& str, size_t *idx = 0); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u32string
-			to_u32string(long long val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u32string
-			to_u32string(unsigned long long val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">u32string
-			to_u32string(long double val); </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">27.2 </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef basic_ios<char>
-			ios; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ios<wchar_t> wios; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ios<char16_t> u16ios; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ios<char32_t> u32ios; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<wchar_t> wifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<wchar_t> wofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<wchar_t>  wfstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_streambuf<char16_t> u16streambuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istream<char16_t>   u16istream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostream<char16_t>   u16ostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_iostream<char16_t>  u16iostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringbuf<char16_t>     u16stringbuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istringstream<char16_t> u16istringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostringstream<char16_t> u16ostringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<char16_t>  u16stringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_filebuf<char16_t>       u16filebuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<char16_t> u16ifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<char16_t> u16ofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<char16_t>  u16fstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_streambuf<char32_t> u32streambuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istream<char32_t>   u32istream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostream<char32_t>   u32ostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_iostream<char32_t>  u32iostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringbuf<char32_t>     u32stringbuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istringstream<char32_t> u32istringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostringstream<char32_t> u32ostringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<char32_t>  u32stringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_filebuf<char32_t>       u32filebuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<char32_t> u32ifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<char32_t> u32ofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<U> <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<char32_t>  u32fstream;</FONT></FONT></U><FONT SIZE=2 STYLE="font-size: 9pt">
-			</FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			state> class fpos; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			fpos<char_traits<char>::state_type>     streampos; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			fpos<char_traits<wchar_t>::state_type>  wstreampos; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			fpos<char_traits<char16_t>::state_type> u16streampos;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			fpos<char_traits<char32_t>::state_type> u32streampos;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">27.6</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_istream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istream<char>     istream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istream<wchar_t>  wistream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_istream<char16_t> u16istream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istream<char32_t> u32istream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_iostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_iostream<char>     iostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_iostream<wchar_t>  wiostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_iostream<char16_t> u16iostream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_iostream<char32_t> u32iostream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_ostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostream<char>     ostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostream<wchar_t>  wostream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_ostream<char16_t> u16ostream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostream<char32_t> u32ostream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">27.7 paragraph 1 </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT>, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			     <FONT SIZE=2 STYLE="font-size: 9pt">class
-			Allocator = allocator<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_stringbuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringbuf<char>     stringbuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringbuf<wchar_t>  wstringbuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_stringbuf<char16_t> u16stringbuf;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringbuf<char32_t> u32stringbuf;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT>, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			     <FONT SIZE=2 STYLE="font-size: 9pt">class
-			Allocator = allocator<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class
-			basic_istringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istringstream<char>     istringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istringstream<wchar_t>  wistringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_istringstream<char16_t> u16istringstream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_istringstream<char32_t> u32istringstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT>, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			     <FONT SIZE=2 STYLE="font-size: 9pt">class
-			Allocator = allocator<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class
-			basic_ostringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostringstream<char>     ostringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostringstream<wchar_t>  wostringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_ostringstream<char16_t> u16ostringstream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ostringstream<char32_t> u32ostringstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT>, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			     <FONT SIZE=2 STYLE="font-size: 9pt">class
-			Allocator = allocator<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class
-			basic_stringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<char>     stringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<wchar_t>  wstringstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<char16_t> u16stringstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_stringstream<char32_t> u32stringstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">27.8.1 paragraph 1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_filebuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_filebuf<char>     filebuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_filebuf<wchar_t>  wfilebuf; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_filebuf<char16_t> u16filebuf;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_filebuf<char32_t> u32filebuf;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_ifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<char>     ifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<wchar_t>  wifstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_ifstream<char16_t> u16ifstream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ifstream<char32_t> u32ifstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_ofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<char>     ofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<wchar_t>  wofstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_ofstream<char16_t> u16ofstream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_ofstream<char32_t> u32ofstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template <class
-			charT, class traits = char_traits<charT> > </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">class basic_fstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<char>     fstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<wchar_t>  wfstream; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef
-			basic_fstream<char16_t> u16fstream;</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_fstream<char32_t> u32fstream;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">28.4 </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_regex<char>     regex; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_regex<wchar_t>  wregex; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_regex<char16_t> u16regex;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			basic_regex<char32_t> u32regex;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef sub_match<const
-			char*>               csub_match; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef sub_match<const
-			wchar_t*>            wcsub_match; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef sub_match<const
-			char16_t*>           u16csub_match;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef sub_match<const
-			char32_t*>           u16csub_match;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			sub_match<string::const_iterator>    ssub_match; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			sub_match<wstring::const_iterator>   wssub_match; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			sub_match<u16string::const_iterator> u16ssub_match;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			sub_match<u32string::const_iterator> u32ssub_match;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<const char*>               cmatch; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<const wchar_t*>            wcmatch; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<const char16_t*>           u16cmatch;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<const char32_t*>           u32cmatch;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<string::const_iterator>    smatch; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<wstring::const_iterator>   wsmatch; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<u16string::const_iterator> u16smatch;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			match_results<u32string::const_iterator> u32smatch;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<const char*>               cregex_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<const wchar_t*>            wcregex_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<const cha16r_t*>          
-			u16cregex_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<const char32_t*>          
-			u32cregex_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<string::const_iterator>    sregex_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<wstring::const_iterator>   wsregex_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<u16string::const_iterator>
-			u16sregex_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_iterator<u32string::const_iterator>
-			u32sregex_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">... </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<const char*>      
-			cregex_token_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<const wchar_t*>   
-			wcregex_token_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<const char16_t*>  
-			u16cregex_token_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<const char32_t*>  
-			u32cregex_token_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<string::const_iterator>   
-			sregex_token_iterator; </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<wstring::const_iterator></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="zxx">   </SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt">wsregex_token_iterator;
-			</FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<u16string::const_iterator>
-			u16sregex_token_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			regex_token_iterator<u32string::const_iterator></FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="zxx"> </SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt">u32sregex_token_iterator;
-			</FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">} </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			144</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">List
-			of contents of library should be extened to cover new clauses</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"regular expressions, atomic operations and threads" </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			145</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="en-US">Summary
-			of numeric facilities should mention random numbers</SPAN></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			random number framework to the list of library facilities</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			146</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a summary paragraph for regular expressions</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a summary paragraph for regular expressions </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			147</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a summary paragraph for threads</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a summary paragraph for threads </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			148</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			12 is mentioned in and relates to section 17.2, but has been
-			pushed down to appear directly after the title of section 17.3
-			which is rather unfortunate/confusing for the reader.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Make
-			sure tables are rendered in the section to which they relate.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			149</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">For
-			consistency with narrow-oriented and wide-oriented streams, we
-			should add terms for streams of Unicode character sequences</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			Utf16-oriented stream classes and Uft32-oriented stream classes
-			for streams of char16_t/char32_t values.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			150</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			addition of move semantics to the language means that many library
-			APIs leave an object in a safely-destructible state, where no
-			other operations can safely be performed unless it is assigned a
-			new value. Library presentation would be simplified and made more
-			precise if we introduce a term for this state. By analogy with
-			singular iterators suggest the term 'singular object' or 'the
-			object is in a singular state'.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			'singular state' such that an object with a singular state can
-			only be assigned to or safely destroyed. Assiging a new value
-			typically removes the singular state. Note that objects with a
-			singular state may not be safely copied, so you cannot put an
-			object into a singular state by copying another object in a
-			singular state. Use this new term in the postcondition of all
-			library APIs that move from an rvalue reference. It might also be
-			used to simplify the definition of singular iterator to an
-			iterator value with a singular state.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			151</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			crossreference to 17.3.17 [defns.repositional.stream]</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			cross-reference in the existing empty brackets </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			152</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Object
-			state is using a definition of object (instance of a class) from
-			outside the standard, rather than the 'region of storage'
-			definiton in 1.8p1</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			terms and usage</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			153</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.17</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">If
-			a repositional stream can only seek to a position previously
-			encountered, then an arbitrary-positional-stream cannot satisfy
-			this definition, as cross-referenced in 17.3.17</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the word 'only'. A note might be added to reinforce the intent </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK<BR> 154</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.20</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Missing
-			definition of a stable partition algorithm</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			definition from 25.2.12p7 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			155</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			clause 28 to list that use this definition of character</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			clause 28 to list that use this definition of character </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			156</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			regular expressions to set of templates using character container
-			type</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			regular expressions to set of templates using character container
-			type </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			157</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			concepts to the ordered list of presentation</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			concepts into the sequence</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			158</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">templates
-			are neither classes nor functions</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			'classes' and 'functions' with 'classes and class templates' and
-			'functions and function templates' </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			159</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			152</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			informative footnote was relevant in 1998, not 2008. The term
-			'existing vendors' may imply something different now</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the footnote, or replace 'existing' with 'original' or similar </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			160</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">requires
-			is now a keyword with a specific meaning related to concepts, and
-			its use in library specifcation may be confusing. Generally the
-			Requires clause is used to make requirements on the caller, not
-			the library, so typically providing runtime pre-conditions.
-			Suggest a new name to refflect that. Note that Clause 30 already
-			seems to be written to this convention.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			'Requires' with 'Preconditions' </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			161</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph is redundant as the definition of the term 'handler
-			function' is already provided in 17.3. Are we in danger of proving
-			two definitions of the same terms? Which is the 'controlling'
-			definition?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			17.5.2.4p4 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			162</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Clause
-			30 makes use of a 'Synchronization' semantic element, that
-			frequently appears either between Effects: and Postconditions:, or
-			between Returns: and Throws:</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			'Synchronization' to the list either between Effects: and
-			Postconditions:, or between Returns: and Throws:.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			163</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Many
-			functions are defined as "Effects: Equivalent to a...",
-			which seems to also define the preconditions, effects, etc. But
-			this is not made clear.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Introduce
-			an explicit "Equivalent to", which defines all of the
-			properties of the function.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			164</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.3.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			phrasing predates concepts. While this kind of description is
-			still used, the examples provided are now all concepts, and should
-			be replaced with appropriate examples</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Use
-			better names for the examples. Ideally totally replace the need by
-			constraining all templates in library, so that real concepts are
-			all that is needed. Note if retained that CopyConstructible is
-			mis-spelled.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			165</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.3.2.2,
-			17.5.3.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">constraints
-			on bitmask and enumation types were supposed to be tightened up as
-			part of the motivation for the constexpr feature - see paper n2235
-			for deails</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Adopt
-			wording in line with the motivation described in N2235 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			166</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">17.5.3.2.4.1,
-			17.5.3.3</FONT></P>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">List
-			of library clauses should go up to 30, not 27</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			initial refernce to ch27 with ch30 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			167</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.5.3.4
-			Private members</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Comment
-			marker in wrong place.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Change:
-			// streambuf* sb; exposition only to streambuf* sb; // exposition
-			only To reflect actual usage.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			168</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">We
-			should make it clear (either by note or normatively) that
-			namespace std may contain inline namespaces, and that entities
-			specified to be defined in std may in fact be defined in one of
-			these inline namespaces. (If we're going to use them for
-			versioning, eg when TR2 comes along, we're going to need that.)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"namespace std or namespaces nested within namespace std"
-			with "namespace std or namespaces nested within namespace std
-			or inline namespaces nested directly or indirectly within
-			namespace std"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			169</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			phrasing contradicts later freedom to implement the C standard
-			library portions in the global namespace as well as std.
-			(17.6.2.3p4)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Resolve
-			conflict in either place</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			170</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">One
-			of goals of C++0x is to make language easier to teach and for
-			'incidental' programmers. The fine-grained headers of the C++
-			library are valuable in large scale systems for managing
-			dependencies and optimising build times, but overcomplicated for
-			simple development and tutorials. Add additional headers to
-			support the whole library through a single include statement.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a new header <std> that has the effect of including
-			everything in tables 13 and 14, except <iosfwd> and
-			<cassert>. Add an additional header <fwd> that adds
-			all declarations from <std> but no definitions. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			171</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Does
-			freestanding implementation require a full implementation of all
-			listed headers? The reference to abort, at_exit and exit is
-			confusing. Is a conforming implementation allow to deliver partial
-			forms of these headers? If so which ones? Are empty versions of
-			everything but <cstdlib> conforming?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			strike the references to abort, at_exit and exit, or clarify which
-			headers only require partial support.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			172</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">No
-			reference to new functions quick_exit and at_quick_exit</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			reference to quick_exit and at_quick_exit </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			173</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">table
-			15</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt"><initializer_list>
-			is missing from headers required in freestanding implementations.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			18.8, initializer lists, <initializer_list>, to the end of
-			the table.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			23</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">17.6.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Table 15</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There is a freestanding
-			implementation including <type_traits>, <array>,
-			<ratio>, lately added to Table 13, C++ library
-			headers.<BR>Programmers think them useful and hope that these
-			headers are also added to Table 15, C++ headers for freestanding
-			implementations, that shows the set of headers which a
-			freestanding implementation shall include at least.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add <type_traits>,
-			<array>, <ration> to Table 15.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			174</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.3.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			phrasing is mildly ambiguous when using the word 'it' to refer
-			back to the header - an unfotunate reading might confuse it with
-			the translate unit, which is the subject of the surrounding
-			clause.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			'the first reference to any of the entities declared in that
-			header by the translation unit' with 'the first reference to any
-			of the entities that header declares in the translation unit' </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			175</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.4.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Local
-			types can now be used to instantiate templates, but don't have
-			external linkage</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the reference to external linkage </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			176</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.4.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			175</FONT></P>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Reference
-			to namespace ::std should be 17.6.4.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			referfence from 17.6.4.3 to 17.6.4.2 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			177</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.4.3.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Sentence
-			is redundant as double underscores are reserved in all contexts by
-			17.6.4.3.3</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the sentence </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			178</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.4.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			last sentence of the third bullet "Operations on such types
-			can report a failure by throwing an exception unless otherwise
-			specified" is redundant as behaviour is already undefined.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the sentence </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			179</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.4.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">According
-			to the 4th bullet there is a problem if "if any replacement
-			function or handler function or destructor operation throws an
-			exception". There should be no problem throwing exceptions so
-			long as they are caught within the function.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the word 'throws' with 'propogates' </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			22</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">17.6.5.7</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The statement below describes
-			relation among two or more threads using words “between
-			threads”:<BR>[Note: This means, for example, that
-			implementations can’t use a static object for internal
-			purposes without synchronization because it could cause a data
-			race even in programs that do not explicitly share objects between
-			threads. —end note ]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In such case, “among”
-			is preferred instead of “between”.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Change "between threads"
-			to "among threads".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There are same cases in 17.6.1
-			paragraph 2, 17.6.5.7 paragraph 6, 30.1 paragraph 1, 30.3.1
-			paragraph 1 also.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			180</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.5.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1,
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			should not be possible to strengthen the exception specification
-			for virtual functions as this could break user code. Note this is
-			not a problem in practice as there are no virtual functions with
-			exception specifications in the current library, other than empty
-			throw specifications which it is not possible to strengthen.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			restriction that exception specification of virtual functions
-			cannot be tightened.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			181</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.5.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			186</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			footnote is wrong. C library functions do not have any exception
-			specification, but might be treated as if they had an empty throw
-			specification</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			that this note does not mean the functions are genuinely declared
-			with the specification, but are treated as-if. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			182</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">17.6.5.10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			188</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is very helpful to assume all exceptions thrown by the standard
-			library derive from std::exception. The 'encouragement' of this
-			note should be made normative.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Make
-			this footnote normative</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			184</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18
-			-> 30</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			new alias-declaration syntax is generally easier to read than a
-			typedef declaration. This is especially true for complex types
-			like function pointers.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			all typedef declarations in the standard library with
-			alias-declarations, except in the standard C library.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			24</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Table 16</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Subclauses are listed in Table
-			16 as:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"18.6 Type identification
-			…"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"18.8 Initializer lists
-			…"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"18.7 Exception handling
-			…".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.06in; text-indent: -0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Sort them in the increasing
-			order <BR>"18.6 Type identification …"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"18.7 Exception handling
-			…".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"18.8 Initializer lists
-			…"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			25</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph , last line, SEE ALSO</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">max_align_t is described in
-			18.1, so add 3.11 Alignment as the reference.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"<U>3.11,
-			Alignment</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">"
-			to </FONT><FONT SIZE=2 STYLE="font-size: 9pt">SEE ALSO.</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			32</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">18.2.1
-			[Numeric limits]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			definition of numeric_limits<> as requiring a regular type
-			is both conceptually wrong and operationally illogical.  As we
-			pointed before, this mistake needs to be corrected.  For example,
-			the template can be left unconstrained. In fact this reflects a
-			much more general problem with concept_maps/axioms and their
-			interpretations.  It appears that the current text heavily leans
-			toward experimental academic type theory.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">We
-			suggest that a more pragmatic approach, in the spirit of C and
-			C++, be taken so that calls to constrained function templates are
-			interpreted as assertions on *values*, not necessarily semantics
-			assertions on the carrier type.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-16</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">18.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-16
-			The class template <FONT FACE="Arial, sans-serif">numeric_limits</FONT>
-			should not specify the <FONT FACE="Arial, sans-serif">Regular</FONT>
-			concept requirement for its template parameter, because it
-			contains functions returning NaN values for floating-point types;
-			these values violate the semantics of <FONT FACE="Arial, sans-serif">EqualityComparable</FONT>.
-			See also library issue 902 in WG21 document N2794 "C++
-			Standard Library Active Issues List (Revision R60)",
-			available at
-			http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2794.html
-			.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Specify
-			a concept requirement with fewer constraints as appropriate, for
-			example <FONT FACE="Arial, sans-serif">SemiRegular</FONT>.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			26</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.2.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">numeric_limits does not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<class T> class
-			numeric_limits<const T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<class T> class
-			numeric_limits<volatile T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<class T> class
-			numeric_limits<const volatile T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>Regular</U>
-			T> class numeric_limits<const T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>Regular</U>
-			T> class numeric_limits<volatile T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>Regular</U>
-			T> class numeric_limits<const volatile T>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-17</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">18.2.6
-			</FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-17
-			The class <FONT FACE="Arial, sans-serif">type_index</FONT>
-			should be removed; it provides no additional functionality beyond
-			providing appropriate concept maps.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Specify
-			concept maps for "const type_info *" as required by the
-			ordered and unordered containers and remove the class <FONT FACE="Arial, sans-serif">type_index</FONT>.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			185</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is no header <stdint>, it should either be <stdint.h>
-			or <cstdint></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			<stdint> with <cstdint></FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-18</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">18.4</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-18
-			The proposed C++ standard makes a considerable number of existing
-			programs that have well-defined behavior according to ISO/IEC
-			14882:2003 have undefined behavior without a diagnostic hint to
-			the programmer at all. This applies to the presence of threads and
-			to pointer safety (the latter was introduced to support garbage
-			collection). In order to avoid requiring a full code review for
-			user code, facilities should be present that allow the
-			compile-time detection of the advanced features of the proposed
-			C++ standard. It is expected that C++ implementations will provide
-			a means (for example, a command-line switch) to turn off either or
-			both of threads and garbage collection support, turning
-			potentially undefined programs into well-defined ones.<BR><I>Note:</I>
-			This issue is contributing significantly to Germany's overall 
-			“no” vote.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			applying the changes proposed in WG21 document N2693 "Requirements
-			on programs and backwards compatibility", available at
-			http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2693.html
-			.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			186</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			221</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">What
-			is the purpose of this comment? The standard stream objects (cin,
-			cerr etc.) have a peculiar lifetime that extends beyond the
-			program. They may never be destroyed so will not be responsible
-			for flushing buffers at the stated time.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the footnote</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			187</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			term "thread safe" is not defined nor used in this
-			context anywhere else in the standard.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			the intended meaing of "thread safe"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			188</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			function _Exit does not appear to be defined in this standard.
-			Should it be added to the table of functions included-by-reference
-			to the C standard?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Depends
-			on where _Exit comes from</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			189</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.4,
-			18.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			addition of the [[noreturn]] attribute to the language will be an
-			important aid for static analysis tools.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			following functions should be declared in C++ with the
-			[[noreturn]] attribute: abort exit quick_exit terminate unexpected
-			rethrow_exception throw_with_nested</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			27</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.4,
-			18.9, 18.7.2.2, 18.7.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There are Standard library
-			functions that never return to the caller. They are explained so
-			in the Standard but not declared explicitly.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Consider to add the attribute
-			[[noreturn]] to such functions, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">15.5.2 unexpected<BR>  18.4:
-			abort(), exit(), quick_exit, <BR>  18.7.2.2: unexpected_handler, <BR>
-			 18.7.3.1: terminate_handler, </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">18.7.6 rethrow_nested</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">18.7.6 throw_with_nested<BR>
-			 18.9: longjmp.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			190</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">various</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not entirely clear how the current specification acts in the
-			presence of a garbage collected implementation.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">All
-			deallocation functions taking a pointer parameter should have a
-			Precondition : ptr is a safely-derived pointer value.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			191</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">According
-			to the second bullet, behaviour becomes undefined (for lack of a
-			specification) if the user has not yet called set_new_handler.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Rephrase
-			the second bullet in terms of a new handler being installed, and
-			update any definition of handler function necessary to be sure the
-			term 'installed' is defined.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			192</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.5.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			declared signature is not compatible with the current requirement
-			to throw std::length_error. It is too late to weaken the exception
-			specification, so the only other change is to preserve new
-			(improved) behaviour is to throw std::bad_alloc, or something
-			derived from std::bad_alloc.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Fix
-			5.3.4p7 by required std::bad_alloc rather than std::length_error</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			193</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.5.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">quick_exit
-			has been added as a new valid way to terminate a program in a well
-			defined way</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			3rd bullet: call either abort(), exit() or quick_exit();</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			194</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			inclusion of type_index and hash<type_index> in <typeinfo>
-			brings dependencies into <typeinfo> which are inconsistent
-			with the definition of freestanding C++ in 17.6.2.4.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			type_index and hash<type_index> out of <typeinfo> and
-			into a new header, <typeindex>.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			28</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.6,
-			18.7, 19.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Errors
-			reported by Exception classes are of types char or std::string
-			only. For
-			example, std::exception is declared with char, std::string types,
-			therefore types wchar_t/wstring, char16_t/u16string, or
-			char32_t/u32string can not be used.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Consider other types.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			29</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.7.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">throw_with_nested does not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class T> void
-			throw_with_nested(T&& t); // [[noreturn]]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<CopyConstructible
-			T> void throw_with_nested(T&& t); // [[noreturn]]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			30</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.7.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">To handle nested exceptions
-			strictly, error information of tree structure will be required
-			though, the nested_exception does not support tree structure. It
-			is insufficient as error handling.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Consider nested_exception to
-			support tree structure.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			31</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">18.7.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It is difficult to understand
-			in which case nested_exception is applied.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Consider to add a sample
-			program which rethrows exception.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			195</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			class definition of std::initializer_list contains concept-maps to
-			Range which should be out of the class, and in <iterator_concepts>
-			instead. Otherwise, it's not possible to use initializer_lists in
-			a freestanding C++ implementation.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			the two concept maps from std::initializer_list.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			196</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">18.8.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Concept
-			maps for initializer_list to Range should not be in language
-			support headers, but instead in iterator concepts.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			section 18.8.3 and put it in 24.1.8.1 instead, so that the
-			concept_maps from initializer_list to Range are specified under
-			Range instead of under initializer lists; also, so that they're
-			implemented in <iterator_concepts> instead of
-			<initializer_list>.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			197</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">All
-			the exception classes in this clause take a std::string argument
-			by const reference. They should all be overloaded to accept
-			std::string by rvalue rerefence for an efficient move as well.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a constructor for every exception class in clause 19 accepting a
-			std::string by rvalue reference, with the semantics that the
-			passed string may be moved.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			32</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">19.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Messages returned by the
-			member function what() of standard exception classes seem
-			difficult to judge.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">For example, following
-			messages are returned by what() of std::bad_alloc of existing
-			implementations:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Compiler:              Message
-			returned by what()</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">---------------------------------------------</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Borland C++ 5.6.4:   no named
-			exception thrown</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Visual C++ 8.0:       bad
-			allocation</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Code Warrior 8.0:    exception</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">g++ 3.4.4:            
-			St9exception</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It is difficult to recognize
-			what exception was thrown when using those compilers except Visual
-			C++.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Consider to add footnote that
-			recommends what() returns message easy to recognize what exception
-			was thrown.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			64</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">19.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT COLOR="#000000">“</FONT> <FONT SIZE=2 STYLE="font-size: 9pt">See
-			also: ISO C 7.1.4, 7.2,
-			Amendment 1 4.3.</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">”
-			It is unclear why this cross reference is here. Amendment 1 was to
-			C89, not C99.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Delete
-			this cross reference. If necessary, expand the main text to
-			include the relevant referenced text</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			65</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Scoped
-			allocators and allocator propagation traits add a small amount of
-			utility at the cost of a great deal of machinery. The machinery is
-			user visible, and it extends to library components that don't have
-			any obvious connection to allocators, including basic concepts and
-			simple components like pair and tuple.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Sketch of proposed resolution:
-			Eliminate scoped allocators, replace allocator propagation traits
-			with a simple uniform rule (e.g. always propagate on copy and
-			move), remove all mention of allocators from components that don't
-			explicitly allocate memory (e.g. pair), and adjust container
-			interfaces to reflect this simplification. </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Components
-			that I propose eliminating include </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#0000ff"><SPAN STYLE="background: #ffffce">HasAllocatorType</SPAN></FONT><FONT COLOR="#000080"><U>?</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt">,
-			is_scoped_allocator, allocator_propagation_map,
-			scoped_allocator_adaptor, and </FONT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#0000ff"><SPAN STYLE="background: #ffffce">ConstructibleAsElement</SPAN></FONT><FONT COLOR="#000080"><U>?</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt">.
-			</FONT></FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			198</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			organization of clause 20 could be improved to better group
-			related items, making the standard easier to navigate.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">20.6.7,
-			20.6.8, 20.6.9 and 20.6.10 should be grouped under a section
-			called "operator wrappers" or similar. The goal of all 4
-			subsections combined is to provide a functor for every operator in
-			the language. 20.6.17 class template hash should numerically
-			appear immediately after the operator wrappers, as they are
-			functors that are used in similar ways 20.6.11, 20.6.12, 20.6.13,
-			20.6.14, 20.6.15 are strongly related to 20.6.3, and to an extent
-			20.6.2. These should all come under a subheading of "function
-			adapters" 20.7.1, 20.7.3, 20.7.4, 20.7.5, 20.7.6, 20.7.7 and
-			20.7.10 should all be grouped as subclauses under [20.7.2
-			Allocators] [20.7.12 unique_ptr] should be a sub-section of
-			[20.7.13 smart pointers] [20.7.13 smart pointers] is important
-			enough to have a high level bullet after [20.7 memory], suggest
-			renumbering as [20.8 smart pointers] [20.7.13.7 Pointer safety] is
-			nothing to do with smart pointers and should become its own
-			subclause [20.7.14 Pointer safety] [20.9 date and time functions]
-			should be moved under [20.8 time utilities] and retitled [20.8.6 C
-			Library] (as per memory management/C Library) [20.6.18
-			reference_closure] is fundamentally a language support feature and
-			should move to clause 18, see separate comment [20.6.5
-			reference_wrapper] should be simplified and moved into [2.2
-			utility components], see separate comment [20.6.4 result_of]
-			should be reorganised as a type trait - see separate comment
-			Tuples and pairs are closely related so merge tuple and pair into
-			the same subclause - see more general comment on this </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			199</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.1.1,
-			20.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			requirement that programs do not supply concept_maps should
-			probably be users do not supply their own concept_map
-			specializations. THe program will almost certainly supply
-			concept_maps - the standard itself supplies a specialization for
-			RvalueOf? references. Note that the term _program_ is defined in
-			3.5p1 and makes no account of the standard library being treated
-			differently to user written code.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the term 'program' with 'user'.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			200</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">All
-			standard library use expects Predicates to be CopyConstructible,
-			and this should be recognised easily without reatedly stating on
-			every use-case.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			require CopyConstructible<F> as part of Predicate, or create
-			a refined concept, StdPredicate, used throughout the library that
-			requires CopyConstructible as well as Callable. Consider making
-			(Std)Predicate SemiRegular.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			201</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			Consistency axiom for LessThanComparable will not compile.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a requires clause to the Consistency axiomL requires
-			HasLessEquals<T> && HasGreaterEquals<T>, or
-			split the Consistency axiom into two so that 'basic' consistency
-			can be asserted regardless of the <=/>= requirement.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			33</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">LessThanComparable and
-			EqualityComparable don't correspond to NaN.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Apply concept_map to these
-			concepts at FloatingPointType</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			66</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.1.10</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Application
-			of the "Regular" concept to floating-point types appears
-			to be controversial (see long discussion on std-lib reflector).</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">State
-			that the “Regular” concept does not apply to
-			floating-point types.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			34</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Though N2672 pointed at adding
-			"#include<initializer_list>", it isn't reflected.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">add followings</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">#include <initializer_list>
-			 // for concept_map</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			67</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">¶
-			5 first sent.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Some
-			connective words are missing.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			“corresponding to” before “an lvalue reference
-			type.”</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			35</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">"stdforward"
-			should be "std::forward"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Correct
-			typo.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			202</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			references to pair in the tuple-like access to pair functions
-			qualify pair with std::pair even though they are in a namespace
-			std block.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the std:: qualification from these references to pair.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			68</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.2.12</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">IntegralLike</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te/ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			code defining the context is syntactically incorrect.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			a comma in two places:  at the end of the third line of
-			refinements, and at the end of the fourth line of refinements.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			203</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.3.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1-4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			ratio_xyz types have a misplaced '}'. For example: template <class
-			R1, class R2> struct ratio_add { typedef see below} type; ;</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the '}' to after the typedef: template <class R1, class R2>
-			struct ratio_add { typedef see below type; };</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			36</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.4.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">19</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"it it" should be
-			"it is"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct typo.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			204</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			41</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not possible to create a variant union based on a parameter
-			pack expansion, e.g. to implement a classic discriminated union
-			template.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Restore
-			aligned_union template that was removed by LWG issue 856.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			69</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.5</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">This
-			section, dealing with tuple<>, should be in the same section
-			as the similar utility pair<>.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Restructure
-			Clause 20 so as to bring these similar components together.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			205</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">integral_constant
-			objects should be usable in integral-constant-expressions. The
-			addition to the language of literal types and the enhanced rules
-			for constant expressions make this possible.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a constexpr conversion operator to class tempalate
-			integral_constant: constexpr operator value_type() { return value;
-			}</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			206</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.5.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">para
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Currently
-			the std says: "In order to instantiate the template
-			is_convertible<From, To>, the following code shall be well
-			formed:" But the code shown is the requirement for the result
-			of is_convertible to be a true_type, not a precondition on whether
-			the template can be instantiated.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change:
-			"In order to instantiate the template is_convertible<From,
-			To>, the following code shall be well formed:" To: "The
-			template is_convertible<From, To> inherits either directly
-			or indirectly from true_type if the following code is well
-			formed:"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			207</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.5.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			36</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">suffix
-			"::type" is missing from the some of the examples.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Change:
-			Example:remove_const<const volatile int>::type evaluates to
-			volatile int, whereas remove_const<const int*> is const
-			int*. —end example To: Example:remove_const<const
-			volatile int>::type evaluates to volatile int, whereas
-			remove_const<const int*>::type is const int*. —end
-			example And change: Example:remove_volatile<const volatile
-			int>::type evaluates to const int, whereas
-			remove_volatile<volatile int*> is volatile int*. —end
-			example To: Example:remove_volatile<const volatile int>::type
-			evaluates to const int, whereas remove_volatile<volatile
-			int*>::type is volatile int*. —end example And change:
-			Example:remove_cv<const volatile int>::type evaluates to
-			int, whereas remove_cv<const volatile int*> is const
-			volatile int*. —end example To: Example:remove_cv<const
-			volatile int>::type evaluates to int, whereas remove_cv<const
-			volatile int*>::type is const volatile int*. —end example</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			37</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.5.7</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			41</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.19in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There isn't a period at the
-			end of enable_if's comments.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">If B is true, the member
-			typedef type shall equal T; otherwise, there shall be no member
-			typedef type</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">If B is true, the member
-			typedef type shall equal T; otherwise, there shall be no member
-			typedef type.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add ”.”</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			70</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.6</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Specifications
-			now expressed via narrative text are more accurately and clearly
-			expressed via executable code.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Wherever
-			concepts are available that directly match this section’s
-			type traits, express the traits in terms of the concepts instead
-			of via narrative text.  Where the type traits do not quite match
-			the corresponding concepts, bring the two into alignment so as to
-			avoid two nearly-identical notions.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			71</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.6.7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			51, last row, column 3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			grammar is incorrect.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			“conversion are” to “conversion is”.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			38</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.6.12.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.19in; text-indent: -0.19in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">add the move requirement for
-			bind's return type.<BR></FONT><BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.19in; text-indent: -0.19in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">For example, assume following
-			th1 and th2,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt"><BR>void f(vector<int>
-			v) { }<BR><BR>vector<int> v{ ... };<BR>thread th1([v]{ f(v);
-			});<BR>thread th2(bind(f, v));<BR><BR>When function object are set
-			to thread, v is moved to th1's lambda expression in a Move
-			Constructor of lambda expression becuase th1's lambda expression
-			has a Move Constructor. But bind of th2's return type doesn't have
-			the requirement of Move, so it may not moved but copied.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add the requirement of move to
-			get rid of this useless copy.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">And also, add the
-			MoveConstructible as well as CopyConstructible.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the following requirements.<BR>"</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#000000">it
-			has a public move constructor that performs a member-wise move."</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add the MoveConstructible.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			39</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.6.16.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There are no requires
-			corresponding to F of std::function.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A> function(allocator_arg_t, const A&, F);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A> function(allocator_arg_t, const A&, F&&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">function(allocator_arg_t,
-			const A&, F);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">function(allocator_arg_t,
-			const A&, F&&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			40</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.6.16.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Thougn it's "Allocator
-			Aloc" at other places, it's "Allocator A" only
-			std::function constructor template parameter.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A> function(allocator_arg_t, const A&, F);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class F, Allocator
-			A> function(allocator_arg_t, const A&, F&&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			F, Allocator <U>Alloc</U>>
-			function(allocator_arg_t, const <U>Alloc</U>
-			&, F);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			F, Allocator <U>Alloc</U>>
-			function(allocator_arg_t, const <U>Alloc</U>
-			&, F&&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			41</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.6.16.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There are no requires
-			corresponding to R and Args of UsesAllocator.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class R, class...
-			Args></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">concept_map
-			UsesAllocator<function<R(Args...)>, Alloc> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef Alloc
-			allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			Args></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">concept_map
-			UsesAllocator<function<R(Args...)>, Alloc> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef Alloc
-			allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			42</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.6.16.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The requires are wrong.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">R require Returnable, and
-			ArgTypes requires CopyConstructible by a definition of function,
-			then it's a mistake to designate followings by MoveConstructible.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <MoveConstructible
-			R, MoveConstructible... ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator==(const
-			function<R(ArgTypes...)>&, nullptr_t);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <MoveConstructible
-			R, MoveConstructible... ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator==(nullptr_t,
-			const function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <MoveConstructible
-			R, MoveConstructible... ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator!=(const
-			function<R(ArgTypes...)>&, nullptr_t);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <MoveConstructible
-			R, MoveConstructible... ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator!=(nullptr_t,
-			const function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <MoveConstructible
-			R, MoveConstructible... ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(function<R(ArgTypes...)>&,
-			function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator==(const
-			function<R(ArgTypes...)>&, nullptr_t);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator==(nullptr_t,
-			const function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator!=(const
-			function<R(ArgTypes...)>&, nullptr_t);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bool operator!=(nullptr_t,
-			const function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<<U>Returnable</U>
-			R, <U>CopyConstructible</U>...
-			ArgTypes></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(function<R(ArgTypes...)>&,
-			function<R(ArgTypes...)>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			208</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.6.17</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">std::hash
-			should be implemented for much more of the standard library. In
-			particular for pair, tuple and all the standard containers.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			209</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Smart
-			pointers cannot be used in constrained templates</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for smart pointers </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			213</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">std::allocator
-			should be constrained to simplify its use on constrained contexts.
-			This library component models allocation from free store via the
-			new operator so choose constraints to match. The Allocator concept
-			allows for a wider variety of allocators that users may choose to
-			supply if their allocation model does not require operator new,
-			without impacting the requirements of this template.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			primary allocator template should be constrained to require
-			ObjectType<T> and FreeStoreAllocatable<T>. Further
-			operations to be constrained as required.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			214</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">raw_storage_iterator
-			needs constraining as an iterator adaptor to be safely used in
-			constrained templates</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Constrain
-			the raw_storage_iterator template</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			210</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7.11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Specialized
-			algorithms for memory managenment need requirements to be easily
-			usable in constrained templates</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for all algorithms in 20.7.11</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-20</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.7.12</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-20
-			The section heading and the first sentence use the term "template
-			function", which is undefined.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"template function" by "function template". </FONT>
-			</P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			72</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.7.12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">bind should support move-only
-			functors and bound arguments.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-21</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.7.12.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-21
-			The specification for bind claims twice that "the values and
-			types for the bound arguments v1, v2, ..., vN are determined as
-			specified below". No such specification appears to exist.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the missing specification in the same section, or add a
-			cross-reference indicating the section where the specification
-			appears.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			211</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7.12.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			nullptr_t type was introduced to resolve the null pointer literal
-			problem. It should be used for the assignemnt operator, as with
-			the constructor and elsewhere through the library.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			signature here and in the synopsis to: unique_ptr&
-			operator=(nullptr_t); Strike the sentance an note before the
-			Effects clause.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			212</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.7.13.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			pointer-safety API is nothing to do with smart pointers, so does
-			not belong in 20.7.13. In fact it is a set of language support
-			features are really belongs in clause 18, with the contents
-			declared in a header that deals with language-support of memory
-			management.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			this specification to 18.5. Move the declarations into the header
-			<new>.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-22</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.7.16.2</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-22
-			The conditions for deriving from std::unary_function and
-			std::binary_function are unclear: The condition would also be
-			satisfied if ArgTypes were std::vector<T1>, because it
-			(arguably) "contains" T1.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Consider
-			stating the conditions in normative prose instead of in comments
-			in the class definition. Use "consists of" instead of
-			"contains". Consider using "if and only if"
-			instead of "iff".</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			73</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">20.7.18</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			std::reference_closure template is redundant with std::function
-			and should be removed.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">std::reference_closure
-			is a premature optimization that provides a limited subset of the
-			functionality of std::function intended to improve performance in
-			a narrow use case. However, the “parallel application
-			performance” benchmark used to motivate the inclusion of
-			std::reference_closure was flawed in several ways:</FONT></P>
-			<OL START=3>
-				<LI><P ALIGN=LEFT STYLE="margin-bottom: 0in">
-                <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">it
-				failed to enable a common optimization in std::function
-				(implemented by all vendors), exacting  a large and unrealistic
-				penalty for copying std::function instances, and</FONT></P>
-				<LI><P ALIGN=LEFT STYLE="margin-bottom: 0in">
-                <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">it
-				failed to account for parallel scheduler overhead or
-				realistically-sized work units, both of which would dominate the
-				costs measured by the benchmark in any realistic application.</FONT></P>
-			</OL>
-			<P ALIGN=LEFT STYLE="margin-left: 0.25in"><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.7.18 [func.referenceclosure].</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			5.1.1 paragraph 12.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			74</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">20.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Scoped
-			allocators represent a poor trade-off for standardization, since
-			(1) scoped-allocator--aware containers can be implemented outside
-			the C++ standard library but used with its algorithms, (2) scoped
-			allocators only benefit a tiny proportion of the C++ community
-			(since few C++ programmers even use today’s allocators), and
-			(3) all C++ users, especially the vast majority of the C++
-			community that won’t ever use scoped allocators are forced
-			to cope with the  interface complexity introduced by scoped
-			allocators. In essence, the larger community will suffer to
-			support a very small subset of the community who can already
-			implement their own data structures outside of the standard
-			library. Therefore, scoped allocators should be removed from the
-			working paper.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Some
-			evidence of the complexity introduced by scoped allocators:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">20.3.3,
-			20.5: large increase in the number of pair and tuple constructors</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">23:
-			confusing “AllocatableElement” requirements
-			throughout.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			support for scoped allocators from the working paper. This
-			includes at least the following changes:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.8.3 [allocator.element.concepts]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.8.7 [allocator.adaptor]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.8.10 [construct.element]</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">In
-			Clause 23: replace requirements naming the AllocatableElement
-			concept with requirements naming CopyConstructible,
-			MoveConstructible, DefaultConstructible, or Constructible, as
-			appropriate.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			74</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.8.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">(a)
-			synopsis (b) after ¶ 14</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te/ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">A
-			concept name is twice misspelled.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			“Hasconstructor” to “HasConstructor”
-			(twice).</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			75</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.8.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Allocator
-			concepts are incomplete</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">See
-			paper:
-			http://www.halpernwightsoftware.com/WG21/n2810_allocator_defects.pdf></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			43</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.8.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"alloc" should be
-			"Alloc"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">auto concept
-			UsesAllocator<typename T, typename Alloc> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">requires Allocator<alloc>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typename allocator_type =
-			T::allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">auto concept
-			UsesAllocator<typename T, typename Alloc> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">requires
-			Allocator<<U>Alloc</U>>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typename allocator_type =
-			T::allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			215</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20.8.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6,8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Extra
-			pair of {}, presumably some formatting code gone awry : duration&
-			operator-{-}();</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the {} or fix formatting</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			77</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">20.8.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Allocator-specific
-			move and copy behavior for containers (N2525) complicates a
-			little-used and already-complicated portion of the standard
-			library (allocators), and breaks the conceptual model of
-			move-constructor and move-assignment operations on standard
-			containers being efficient operations. The extensions for
-			allocator-specific move and copy behavior should be removed from
-			the working paper.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">With
-			the introduction of rvalue references, we are teaching programmers
-			that moving from a standard container (e.g., a vector<string>)
-			is an efficient, constant-time operation. The introduction of
-			N2525 removed that guarantee; depending on the behavior of four
-			different traits (20.8.4), the complexity of copy and move
-			operations can be constant or linear time. This level of
-			customization greatly increases the complexity of standard
-			containers, and benefits only a tiny fraction of the C++
-			community.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.8.4.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			20.8.5.</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Remove
-			all references to the facilities in 20.8.4 and 20.8.5 from clause
-			23.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			78</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.8.12,
-			20.8.13.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is presently no way to convert directly from a </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">shared_ptr</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			to a </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">unique_ptr</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">.</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			an interface that performs the conversion.  See the attached,
-			Issues with the C++ Standard"  paper under Chapter 20, 
-			"Conversion from </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">shared_ptr</FONT></CODE><FONT SIZE=2 STYLE="font-size: 9pt">
-			to </FONT><CODE>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">unique_ptr".</FONT></CODE></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			79</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.8.12.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">[unique.ptr.single.ctor]/5 no
-			longer requires for D not to be a pointer type.  This
-			restriction needs to be put back in.  Otherwise we have a run
-			time failure that could have been caught at compile time:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">unique_ptr<int,
-			void(*)(void*)> p(malloc(sizeof(int)));  // should not
-			compile</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">unique_ptr<int,
-			void(*)(void*)> p(malloc(sizeof(int)), free);  // ok</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			44</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.8.13.6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The 1st parameter p and 2nd
-			parameter v is now shared_ptr<T> *.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It should be shared_ptr<T>&,
-			or if these are shared_ptr<T>* then add the "p shall
-			not be a null pointer" at the requires.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Change shared_ptr<T>&
-			or add the "p shall not be a null pionter" at the
-			requires.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			45</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.9</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Rep, Period, Clock and
-			Duration don't correspond to concept.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class Rep, class
-			Period = ratio<1>> class duration;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class Clock,
-			class Duration = typename Clock::duration> class time_point;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Make concept for Rep, Period,
-			Clock and Duration, and fix 20.9 and wait_until and wait_for's
-			template parameter at 30.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			80</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.9.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Heading</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			section heading does not describe the contents.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the heading “<SPAN LANG="en-US">is_floating_point</SPAN>”
-			to “<SPAN LANG="en-US">treat_as_floating_point</SPAN>”.
-			 Optionally adjust the section’s label similarly.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">US
-			81</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">20.9.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">chrono::duration is missing
-			the modulous operator for both member and non-member arithmetic. 
-			This operator is useful for finding the position of a duration
-			within a bounded time frame.  Having it be built in to duration is
-			safer than requiring the client to extract and operate directly on
-			the duration’s representation as the latter will not enforce
-			the correct units of the operation.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Ex:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">milliseconds ms(...);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">microseconds us(...);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">ms % us;  // microseconds</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">us % ms;  // microseconds</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">ms % 5;   // milliseconds</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">5 % ms;   // does not compile</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Add:</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class Rep, class
-			Period = ratio<1>> </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class duration { </FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public: </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">...</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">duration&
-			operator%(const rep&);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">duration&
-			operator%(const duration&);</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">..</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">};</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template
-			<class Rep1, class Period,</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">                
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">class
-			Rep2> </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">duration<typename
-			common_type<</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">                
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Rep1,
-			Rep2>::type, Period> </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">operator%(const
-			duration<Rep1, Period>& d, const Rep2& s); </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">template
-			<class Rep1, class Period1,</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">                
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">class
-			Rep2, class Period2> </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">typename
-			common_type<duration<Rep1, Period1>, duration<Rep2,
-			Period2>>::type </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">  
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">operator%(const
-			duration<Rep1, Period1>& lhs, const duration<Rep2,
-			Period2>& rhs); </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			82</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">20.9.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">after
-			¶ 1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The
-			code synopsis has a minor alignment error.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Align
-			“rep” with the other symbols defined in this synopsis.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			216</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">21</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">All
-			the containers use concepts for their iterator usage, exect for
-			basic_string. This needs fixing.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Use
-			concepts for iterator template parameters throughout the chapter.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			46</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">21.2,
-			21.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The basic_string does not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The "class Alloc" is
-			changed to "Allocator Alloc".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">The "class
-			InputIterator" is changed to "InputIterator Iter".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// 21.3, basic_string:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class charT, class
-			traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator</U>
-			Alloc = allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class basic_string;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(basic_string<charT,traits,<U>Alloc</U>>&&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(basic_string<charT,traits,<U>Alloc</U>>&&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const charT*
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const charT*
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			             <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(charT
-			lhs, const basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(charT
-			lhs, basic_string<charT,traits,<U>Alloc</U>>&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(basic_string<charT,traits,<U>Alloc</U>>&&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			              <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			lhs, charT rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator+(basic_string<charT,traits,<U>Alloc</U>>&&
-			lhs, charT rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator==(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator==(const charT*
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator==(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator!=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator!=(const charT*
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator!=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator< (const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator< (const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator< (const
-			charT* lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator> (const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator> (const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator> (const
-			charT* lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator<=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator<=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator<=(const
-			charT* lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator>=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool
-			operator>=(const basic_string<charT,traits,<U>Alloc</U>>&
-			lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const charT*
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">bool operator>=(const
-			charT* lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                  <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.8.8: swap</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_string<charT,traits,Alloc>& lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,Alloc>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_string<charT,traits,Alloc>&& lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,Alloc>&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_string<charT,traits,Alloc>& lhs,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,Alloc>&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.8.9: inserters and
-			extractors</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_istream<charT,traits>&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator>>(basic_istream<charT,traits>&&
-			is,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&
-			str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostream<charT,
-			traits>&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">operator<<(basic_ostream<charT,
-			traits>&& os,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_istream<charT,traits>&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">getline(basic_istream<charT,traits>&&
-			is,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&
-			str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">charT delim);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, class traits, <U>Allocator</U> <U>Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_istream<charT,traits>&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">getline(basic_istream<charT,traits>&&
-			is,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>&
-			str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// 21.3 Class template
-			basic_string</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<class charT,
-			class traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			Alloc</U> =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">class basic_string {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// types:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef traits traits_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::char_type            value_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>Alloc</U>
-			                                allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::size_type
-			            size_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::difference_type
-			      difference_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::reference
-			            reference;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::const_reference
-			      const_reference;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::pointer
-			              pointer;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			typename <U>Alloc</U>::const_pointer
-			        const_pointer;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			implementation-defined                iterator;       // See 23.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			implementation-defined                const_iterator; // See 23.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::reverse_iterator<iterator>       reverse_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::reverse_iterator<const_iterator>
-			const_reverse_iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">static const size_type npos
-			= -1;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.2
-			construct/copy/destroy:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_string(const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(const
-			basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(basic_string&&
-			str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(const
-			basic_string& str, size_type pos, size_type n = npos,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(const charT* s,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n, const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(const
-			charT* s, const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(size_type
-			n, charT c, const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>InputIterator</U> <U>Iter</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(<U>Iter</U>
-			begin, <U>Iter</U>
-			end,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">const <U>Alloc</U>&
-			a = <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(initializer_list<charT>,
-			const <U>Alloc</U>&
-			= <U>Alloc</U>());</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(const
-			basic_string&, const <U>Alloc</U>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string(basic_string&&,
-			const <U>Alloc</U>&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">~basic_string();</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			operator=(const basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			operator=(basic_string&& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			operator=(const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			operator=(charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			operator=(initializer_list<charT>);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.3 iterators:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.4 capacity:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.5 element access:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.6 modifiers:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(const basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(const basic_string& str, size_type pos,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                       <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(const charT* s, size_type n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(size_type n, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>InputIterator</U> <U>Iter</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(<U>Iter</U>
-			first, <U>Iter</U>
-			last);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			append(initializer_list<charT>);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void push_back(charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(const basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(basic_string&& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(const basic_string& str, size_type pos,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                       <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(const charT* s, size_type n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(size_type n, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>InputIterator</U> <U>Iter</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(<U>Iter</U>
-			first, <U>Iter</U>
-			last);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			assign(initializer_list<charT>);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			insert(size_type pos1, const basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			insert(size_type pos1, const basic_string& str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                       <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			pos2, size_type n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			insert(size_type pos, const charT* s, size_type n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			insert(size_type pos, const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			insert(size_type pos, size_type n, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">iterator
-			insert(const_iterator p, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void insert(const_iterator
-			p, size_type n, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>InputIterator</U> <U>Iter</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			insert(const_iterator p, <U>Iter</U>
-			first, <U>Iter</U>
-			last);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void insert(const_iterator
-			p, initializer_list<charT>);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(size_type pos1, size_type n1,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(size_type pos1, size_type n1,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string& str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			pos2, size_type n2);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(size_type pos, size_type n1, const charT* s,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n2);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(size_type pos, size_type n1, const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(size_type pos, size_type n1, size_type n2,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">charT
-			c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator i1, iterator i2,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string& str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator i1, iterator i2, const charT* s,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator i1, iterator i2, const charT* s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator i1, iterator i2,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt">size_type
-			n, charT c);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template<<U>InputIterator</U> <U>Iter</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator i1, iterator i2,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                        <FONT SIZE=2 STYLE="font-size: 9pt"><U>Iter</U>
-			j1, <U>Iter</U>
-			j2);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">basic_string&
-			replace(iterator, iterator, initializer_list<charT>);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">// 21.3.7 string operations:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator</U> <U>Alloc></U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">struct
-			constructible_with_allocator_suffix<</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,
-			traits, <U>Alloc</U>>
-			> : true_type { };</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			47</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">21.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo. Missing ”>”</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits, Allocator Alloc</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits, Allocator Alloc></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct typo.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			48</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">21.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">char_traits does not use
-			concept.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">For example, create CharTraits
-			concept and change as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			charT, <U>CharTraits</U>
-			traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class Allocator =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class basic_string {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add a concept for char_traits.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			217</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">21.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">basic_string
-			refers to constructible_with_allocator_suffix, which I thought was
-			removed?</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the lines: template <class charT, class traits, class Alloc
-			struct constructible_with_allocator_suffix< basic_string<charT,
-			traits, Alloc> > : true_type { };</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			218</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">21.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			identity "&*(s.begin() + n) == &*s.begin() + n"
-			relies on operator& doing the "right thing", which
-			(AFAICS) there is no requirement for. See my comment under clauses
-			"23.2.1, 23.2.6" (p1 in both cases) - this is the same
-			issue, but I've created a separate comment for basic_string
-			because it is in a different chapter.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">See
-			my recommendations for "23.2.1, 23.2.6".</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			219</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">21.3.6.6
-			[string.replace]</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Effects
-			refers to "whose first begin() - i1 elements" However i1
-			is greater than begin()...</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Effects
-			refers to "whose first i1 - begin() elements" </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			220</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">21.3.8.9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			operator<< for basic_string takes the output stream by
-			r-value reference. This is different from the same operator for
-			error_code (19.4.2.6), bitset (20.2.6.3), shared_ptr
-			(20.7.13.2.8), complex (26.3.6) and sub_match (28.4)</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Use
-			the same reference type for the all the library types. This should
-			be the r-value reference. There are other places in the standard
-			where TR1, and new classes, did not receive an 'R-value' update. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			33</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">22.1.1
-			[locale]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ios_base::iostate
-			err = 0;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">iostate
-			is a bitmask type and so could be an enumeration.  Probably using</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">goodbit
-			is the solution.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			49</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">22.1.3.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">codecvt
-			does not use concept. For example, create
-			CodeConvert concept and change as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<<U>CodeConvert</U>
-			Codecvt, class Elem = wchar_t> class wstring_convert {</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add a concept for codecvt.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			50</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">22.1.3.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add custom allocator parameter
-			to wstring_convert, since we cannot allocate memory for strings
-			from a custom allocator.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class Codecvt,
-			class Elem = wchar_t> class wstring_convert {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::basic_string<char> byte_string;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::basic_string<Elem> wide_string;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.06in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class
-			Codecvt, class Elem = wchar_t<U>,</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			         <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			WideAllocator = allocator<Elem>,</U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			         <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			ByteAllocator = allocator<char></U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class wstring_convert {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::basic_string<char, <U>char_traits<char>,
-			ByteAllocator</U>>
-			byte_string;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			std::basic_string<Elem, <U>char_traits<Elem>,
-			WideAllocator</U>>
-			wide_string;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">22.2.1.4.1</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">22.2.1.4.2</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">to_end
-			and to_limit are both used. Only one is needed.</FONT></TT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			to_limit to to_end.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			5</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">22.2.1.4.2
-			</FONT></TT></FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">#3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">[
-			Note: As a result of operations on state, it can return ok or
-			partial and set next == from and to_next != to. —end note ]</FONT></TT><BR></FONT><BR><BR>
-			</P>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">"next"
-			should be "from_next."</FONT></TT></FONT></P>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">Also,
-			the sentence applies to all the examples, including do_in and
-			do_out.</FONT></TT></FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">Reasoning:
-			When reading one element of multibyte source data such as UTF-8,
-			it is possible that from_next is incremented, to_next is
-			unaltered, state is altered and return value is partial.<BR>When
-			reading one element of wide character data, the output can be
-			several multibyte characters, so it is possible that from_next is
-			unaltered, to_next is advanced, state is altered and return value
-			is partial.</FONT></TT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">[
-			Note: As a result of operations on state, do_in and do_out can
-			return</FONT></TT><BR><TT><FONT FACE="Arial, sans-serif">ok or
-			partial and set from_next == from and/or to_next != to. —end</FONT></TT><BR><TT><FONT FACE="Arial, sans-serif">note
-			]</FONT></TT></FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			6</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">22.2.1.5</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">See
-			also 22.2.1.4 (1,2,3)</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">codecvt_byname
-			is only specified to work with locale names. There is no built-in
-			means to find a codecvt with a character set's name. A locale and
-			a character set are not the same. If the user has data which is
-			encoded in a certain character set and she wants to create a
-			codecvt which can convert from that character set to another one,
-			she must iterate through locales to find one, or use external
-			means (iconv, ICU's uconv). Specifying a locale with the character
-			set is not a suitable solution, since there is no built-in mapping
-			from character sets to locales. It is only possible to inquire the
-			character set once the locale is known.</FONT></TT></FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt"><TT><FONT FACE="Arial, sans-serif">There
-			should be a built-in means to find a codecvt with a pair of
-			character set names. </FONT></TT></FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FI
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">22.2.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1,2,3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			word "codeset" is used, whereas the word "character
-			set" is used elsewhere in the text. The words are intended to
-			convey the same concept, so only one should be used (or always
-			both together).</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			"codeset" to "character set."</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			51</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">A parameter `end’ should
-			be `fmtend’.<BR>get() function had two `end’
-			parameters at N2321.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">iter_type get (iter_type s,
-			iter_type end, ios_base& f, ios_base::iostate& err, tm* t,
-			const char_type* fmt, const char_type *end) const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The function prototype of
-			get() has been corrected at N2800, but a Requires statement still
-			refers `end’ parameter.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">Requires: [fmt,end) shall be
-			a valid range.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<BR><BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">Requires: [fmt,fmtend) shall
-			be a valid range.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			52</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.1,
-			22.2.5.2, 22.2.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">InputIterator does not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class InputIterator = istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_get : public
-			locale::facet, public time_base {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT        
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef InputIterator
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, <U>InputIterator
-			InputIter</U> =
-			istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_get : public
-			locale::facet, public time_base {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT    
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>InputIter</U>
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.2</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class InputIterator = istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_get_byname : public
-			time_get<charT, InputIterator> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef time_base::dateorder
-			dateorder;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef InputIterator       
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, <U>InputIterator
-			InputIter</U> =
-			istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_get_byname : public
-			time_get<charT, InputIter> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef time_base::dateorder
-			dateorder;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>InputIter</U>
-			           iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">22.2.6.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">class InputIterator
-			= istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class money_get : public
-			locale::facet {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT        
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef InputIterator
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt"><U>InputIterator
-			InputIter</U> =
-			istreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class money_get : public
-			locale::facet {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT    
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>InputIter</U>
-			iter_type;
-			</FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			53</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.3
-			, 22.2.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">OutputIterator does not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.3</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class OutputIterator = ostreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class
-			time_put : public locale::facet {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT         
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef OutputIterator
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="zxx"> </SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt">should
-			be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, <U>OutputIterator
-			OutputIter</U> = 
-			ostreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_put : public
-			locale::facet {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef
-			charT      char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>OutputIter</U>
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">22.2.5.4</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class OutputIterator = ostreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_put_byname : public
-			time_put<charT, OutputIterator></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT         
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef OutputIterator
-			iter_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, <U>OutputIterator
-			OutputIter</U> =
-			ostreambuf_iterator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">class time_put_byname : public
-			time_put<charT, OutputIter></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT     
-			char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT>    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>OutputIter</U>
-			iter_type;</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			54</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Table 79</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There is not <forward_list>
-			in Table 79.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add <forward_list> 
-			between <deque> and <list>.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			221</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			79</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			table is missing the new <forward_list> header.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			<forward_list> to the table for sequence containers.
-			Alternative (technical) solution might be to merge <forward_list>
-			into <list>.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			222</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not clear what purpose the Requirement tables serve in the
-			Containers clause. Are they the definition of a library Container?
-			Or simply a conventient shorthand to factor common semantics into
-			a single place, simplifying the description of each subsequent
-			container? This becomes an issue for 'containers' like array,
-			which does not meet the default-construct-to-empty requirement, or
-			forward_list which does not support the size operation. Are these
-			components no longer containers? Does that mean the remaining
-			requirements don't apply? Or are these contradictions that need
-			fixing, despite being a clear design decision?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			all the tables in 23.1 are there as a convenience for
-			documentation, rather than a strict set of requirements.
-			Containers should be allowed to relax specific requirements if
-			they call attention to them in their documentation. The
-			introductory text for array should be expanded to mention a
-			default constructed array is not empty, and forward_list
-			introduction should mention it does not provide the required size
-			operation as it cannot be implemented efficiently.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			55</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">rd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It seems that “the
-			MinimalAllocator concep” is the typo of “the
-			MinimalAllocator concept”.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			to … models the MinimalAllocator concep</FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">t</FONT><FONT SIZE=2 STYLE="font-size: 9pt">.</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			223</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			library does not define the MinimalAllocator or ScopedAllocator
-			concepts, these were part of an earlier Allocators proposal that
-			was rejected.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the references to MinimalAllocator and ScopedAllocator, or add
-			definitions for these concepts to clause 20.7.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			224</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph implicitly requires all containers in clause 23 to
-			support allocators, which std::array does not.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			an 'unless otherwise specified' rider somewhere in p8, or move the
-			whole array container from clause 23 [containers] to clause 20
-			[utilies] to accompany bitset, pair and tuple.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			225</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			81</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Inconsistent
-			words used to say the same thing. Table 80 describes
-			iterator/const_iterator typedef as returning an "iterator
-			type whose value type is T". Table 81 expresses the same idea
-			as an "iterator type pointing to T". Express identical
-			ideas with the same words to avoid accidentally introducing
-			subtlety and confusion</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			return types for X::(const)_reverse_iterator to say "iterator
-			type whose value type is (const) T". </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			226</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">10</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt"><array>
-			must be added to this list. In particular it doesn't satisfy: - no
-			swap() function invalidates any references, pointers, or iterators
-			referring to the elements of the containers being swapped. and
-			probably doesn't satisfy: — no swap() function throws an
-			exception.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">If
-			<array> remains a container, this will have to also
-			reference array, which will then have to say which of these points
-			it satisfies.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			227</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			80</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			post-condition for a = rv uses the word “construction”
-			when it means “assignment”</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the word “construction” with the word “assignment”</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			228</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Line
-			4 contains a spelling mistake in the fragment "MinimalAllocator
-			concep."</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"concep" with "concept"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			229</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			fragment "A container may directly call constructors" is
-			not technically correct as constructors are not callable.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"A container may directly call constructors and destructors
-			for its stored objects" with something similar to "A
-			container may directly construct its stored objects and call
-			destructors for its stored objects"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			230</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in">“<FONT SIZE=2 STYLE="font-size: 9pt">implementations
-			shall consider the following functions to be const” - what
-			does this mean? I don't understand what it means by
-			implementations considering the functions to be const –
-			surely they are either declared const or not?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clarify
-			what is meant and what requirements an implementation must
-			satisfy.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			56</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, Table 84</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">`array’ is unstated in
-			Table 84 - Optional sequence container operations.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add `array’ to Container
-			field for the following Expression.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.15in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">a.front()</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.15in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">a.back()</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.15in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">a[n]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.15in; margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">a.at(n)</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			231</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9-11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">These
-			paragraphs are redundant now that Concepts define what it means to
-			be an Iterator and guide overload resolution accordingly.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			23.1.3p9-11. Make sure std::basic_string has constraints similar
-			to std::vector to meet this old guarantee.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			232</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			84</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">match_results
-			may follow the requirements but is not listed a general purpose
-			library container.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			reference to match_results against a[n] operation</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			233</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			84</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			references to the new containers.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			reference to array to the rows for: a.front(), a. back(), a[n]
-			a.at(n). Add reference to forward_list to the rows for: a.front(),
-			a.emplace_front(args), a.push_front(t), a.push_front(rv),
-			a.pop_front(). Add reference to basic_string to the row for:
-			a.at(n). </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			234</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			84</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Ther
-			reference to iterator in semantics for back should also allow for
-			const_iterator when called on a const-qualified container. This
-			would be ugly to specify in the 03 standard, but is quite easy
-			with the addition of auto in this new standard.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			iterator with auto in semantics for back: { auto tmp = a.end();
-			--tmp; return *tmp; }</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			235</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT>“<FONT SIZE=2 STYLE="font-size: 9pt">The
-			library provides three basic kinds of sequence containers: vector,
-			list, and deque” - text appears to be out of date re
-			addition of array and forward_list</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the text to read: “The library provides five basic kinds of
-			sequence containers: array, deque, forward_list, list and vector”.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			236</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">[
-			I've moved (1) into a separate comment because I believe it is
-			editorial in the simple sense, whereas (2) and (3) are not so
-			straight forward ] (2) “vector is the type of sequence
-			container that should be used by default” -- As I understand
-			it vector was considered first port of call because the things it
-			has in common with the native array make programmers (especially
-			those new to the container library) feel like they are on familiar
-			territory. However, we now have the array container, so I think
-			this should be recommended as the first port of call. (3) This
-			paragraph is actually giving guidance on the use of the containers
-			and should not be normative text</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			this paragraph</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			237</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">vector,
-			list, and deque offer the programmer different complexity
-			trade-offs and should be used accordingly - this ignores array and
-			forward_list</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Modify
-			the text to read: "array, deque, forward_list, list and
-			vector offer the programmer different complexity trade-offs and
-			should be used accordingly"</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			238</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Leaving
-			it unspecified whether or not iterator and const_iterator are the
-			same type is dangerous, as user code may or may not violate the
-			One Definition Rule by providing overloads for both types. It is
-			probably too late to specify a single behaviour, but implementors
-			should document what to expect. Observing that problems can be
-			avoided by users restricting themselves to using const_iterator,
-			add a note to that effect.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			'unspecified' to 'implementation defined'. Add "[Note: As
-			itererator and const_iterator have identical semantics in this
-			case, and iterator is convertible to const_iterator, users can
-			avoid violating the One Definition Rule by always using
-			const_iterator in their function parameter lists -- end note]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			239</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">85</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not possible to take a move-only key out of an unordered
-			container, such as (multi)set or (multi)map, or the new hashed
-			containers.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			below a.erase(q), a.extract(q), with the following notation:
-			a.extract(q), Return type pair<key, iterator> Extracts the
-			element pointed to by q and erases it from the set. Returns a pair
-			containing the value pointed to by q and an iterator pointing to
-			the element immediately following q prior to the element being
-			erased. If no such element exists,returns a.end().</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			240</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.1.6.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			axiom EmplacePushEquivalence should be asserting the stronger
-			contract that emplace and insert return the same iterator value,
-			not just iterators that dereference to the same value. This is a
-			similar statement that is easier to express and should be
-			equivalent - the idea that insert and emplace might return
-			iterator values that do not compare equal but point to the same
-			element should fail somewhere in the iterator concepts. Also, this
-			axiom should be renamed to reflect its connection with insert,
-			rather than push_front/push_back,</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the * to deference the returned iterator either side of the == in
-			the EmplacePushEquivalence axiom, rename the axiom
-			EmplacementInsertionEquivalence : requires InsertionContainer<C>
-			&& Constructible<value_type, Args...> axiom
-			EmplacementInsertionEquivalence(C c, const_iterator position,
-			Args... args) { emplace(c, position, args...) == insert(c,
-			position, value_type(args...)); }</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			57</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.1.6.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo, duplicated "to"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"<U>to
-			to</U> model insertion
-			container concepts."</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Remove one.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			241</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">std::array
-			does not have an allocator, so need to document an exception to
-			the requirements of 23.1.1p3</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">add
-			exception to 23.1.1p3</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			242</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">std::
-			qualification no longer needed for reverse_iterator.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">remove
-			std:: qualification from std::reverse_iterator<iterator> and
-			std::reverse_iterator<const_iterator></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			243</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Most
-			containers, and types in general have 3 swaps: swap(T&, T&)
-			swap(T&&, T&) swap(T&, T&&) But array only
-			has swap(T&, T&).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">add
-			the other two swaps.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			244</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.2.1,
-			23.2.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			validity of the expression &a[n] == &a[0] + n is
-			contingent on operator& doing the “right thing”
-			(as captured by the CopyConstructible requirements in table 30 in
-			C++2003). However this constraint has been lost in the Concepts of
-			C++0x. This applies to vector and array (it actually applies to
-			string also, but that's a different chapter, so I'll file a
-			separate comment there and cross-reference).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Define
-			a ContiguousStrorage and apply it to vector,array and string. The
-			Concept (supplied by Alisdair M) looks like this: Concept<
-			typename C > ContiguousStrorage { requires Container<C>;
-			typename value_type = C::value_type; value_type * data( C ); axiom
-			Contiguous { C c; true = equal_ranges( data( c), data(c) +
-			size(c), begin(c)); } };</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			245</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			predicate types used in special member function of forward_list
-			should be CopyConstructible, as per the algorithms of the same
-			name. Note: an alternate solution would be to require these
-			callable concepts to be CopyConstructible in clause 20, which
-			would simplify the library specification in general. See earlier
-			comment for details, that would render this one redundant.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			CopyConstructible requirement to the following signatures:
-			template <Predicate<auto, T> Pred> requires
-			CopyConstructible<Pred> void remove_if(Pred pred); template
-			<EquivalenceRelation<auto, T> BinaryPredicate>
-			requires CopyConstructible<BinaryPredicate> void
-			unique(BinaryPredicate binary_pred); template
-			<StrictWeakOrder<auto, T> Compare> requires
-			CopyConstructible<Compare> void
-			merge(forward_list<T,Alloc>&& x, Compare comp);
-			template <StrictWeakOrder<auto, T> Compare> requires
-			CopyConstructible<Compare> void sort(Compare comp); </FONT>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			58</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.2.3.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line before 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph </FONT></FONT>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Unnecessary "{"
-			exists before a word iterator like "{iterator
-			before_begin()".</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Remove "{"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			59</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.2.4.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Types of the third and forth
-			parameter of splice() are iterator at 23.2.4.4, though types of
-			them are const_iterator at 23.2.4. (They are both const_iterator
-			on N2350)</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void splice(const_iterator
-			position, list<T,Allocator>&& x, iterator i);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void splice(const_iterator
-			position, list<T,Allocator>&& x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">iterator first,
-			iterator last);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void splice(const_iterator
-			position, list<T,Allocator>&& x, const_iterator i);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void splice(const_iterator
-			position, list<T,Allocator>&& x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">const_iterator
-			first, const_iterator last);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			83</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">23.2.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT> <FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"shrink_to_fint"
-			should be "shrink_to_fit".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			246</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">23.3.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			content of this sub-clause is purely trying to describe in words
-			the effect of the requires clauses on these operations, now that
-			we have Concepts. As such, the desctiption is more confusing than
-			the signature itself. The semantic for these functions is
-			adequately covered in the requirements tables in 23.1.4.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			23.3.2.2 entirely. (but do NOT strike these signatures from the
-			class template definition!)</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			247</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Iterator
-			concepts are not extensive enough to merit a whole new header, and
-			should be merged into <concpts>. This is particularly
-			important for supporting the new for loop syntax which requires
-			access to the Range concept. The required header to enable this
-			syntax shoud have a simple name, like <concepts>, rather
-			than something awkward to type like <iterator_concepts>.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the concepts of <iterator_concepts> into the <concepts>
-			header. We take no position on moving the text from Clause 24 to
-			Clause 20 though. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			248</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			text "so for any iterator type there is an iterator value
-			that points past the last element of a corresponding container"
-			is slightly misleading. Iterators can refer into generalised
-			ranges and sequences, not just containers. A broader term than
-			'container' should be used.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the reference to container with a more appropriate concept </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			250</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">A
-			default implementation should be supplied for the post-increment
-			operator to simplify implementation of iterators by users.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Copy
-			the Effects clause into the concept description as the default
-			implementation. Assumes a default value for postincrement_result </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			251</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			post-increment operator is dangerous for a general InputIterator.
-			The multi-pass guarantees that make it meaningful are defined as
-			part of the ForwardIterator refinement. Any change will affect
-			only constrained templates that have not yet been written, so
-			should not break existing user iterators which remain free to add
-			these operations. This change will also affect the generalised
-			OutputIterator, although there is no percieved need for the
-			post-increment operator in this case either.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			declaration of postincrement operator and postincrement_result
-			type from Interator concept to the ForwardIterator concept</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK<BR> 252</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">istream_iterator
-			is not a class, but a class template</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			'class' to 'class template' in the note. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			253</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">First
-			sentance does not make gramatical sense, Seems to be missing the
-			words 'if it' by comparison with similar sentance in other
-			subsections</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the words 'if it' : "X satisfies the requirements of an
-			output iterator IF IT meets the syntactic and semantic
-			requirements" </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			254</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			postcondition for pre-increment operator should be written as an
-			axiom</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the postcondition into the concept definition as an axiom </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			255</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			postcondition for pre-increment operator should be written as an
-			axiom</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the postcondition into the concept definition as an axiom </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			256</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3,
-			4, 5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			relationship between pre- and post- decrement should be expressed
-			as an axiom.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the text specification of pre/post-conditions and behaviour into
-			an axiom within the BidirectionalIterator concept </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			257</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is a reasonable default for postdecrement_result type, which is X.
-			X is required to be regular, therefore CopyConstructible and a
-			valid ResultType. Together with the next comment this simplifies
-			user defined iterator implentations</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the default : typename postincrement_result = X; </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			258</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">A
-			default implementation should be supplied for the post-decrement
-			operator to simplify implementation of iterators by users.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Copy
-			the Effects clause into the concept description as the default
-			implementation. Assumes a default value for postincrement_result </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			259</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">postdecrement_result
-			is effectively returning a copy of the original iterator value, so
-			should have similar constraints, rather than just HasDereference.
-			If Concepts do not support this circularity of definition suggest
-			that concepts feature may want a little more work</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the requirement: requires Iterator< postdecrement_result >; </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			260</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			effects clause for post-decrement iterator should be available as
-			an axiom and a default implementation, where the compiler can make
-			better use of it.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the Effects clause into the BidirectionalIterator concept
-			definition as an axiom, and as the default implementation for the
-			operation.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			249</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="en-US">24.1.6</SPAN></FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			semantic for operator+= should also be provided as a default
-			implementation to simplify implementation of user-defined
-			iterators</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Copy
-			the text from the effects clause into the RandomAccessIterator
-			concept as the default implementaiton.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			261</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">To
-			simplify user defined random access iterator types, the
-			subscript_reference type should default to reference</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">typename
-			subscript_reference = reference; </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			262</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3,
-			4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Effects
-			and post-conditions for operator+ are more useful if expressed as
-			axioms, and supplied as default implementations.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the effects and Postcondition definitions into the
-			RandomAccessIterator concept and copy the code in the
-			specification as the default implementation of these operations.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			263</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			requirement on operator-= would be better expressed as a default
-			implementation in the concept, with a matching axiom</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the specification for operator-= from the returns clause into an
-			axiom and default implementation within the RandomAccessIterator
-			concept</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			264</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Effects
-			clauses are better expressed as axioms where possible.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			code in operator- effects clause into RandomAccessIterator concept
-			as both a default implementation and an axiom</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			265</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			effects clause is nonesense. It looks more like an axiom stating
-			equivalence, and certainly an effects clause cannot change the
-			state of two arguments passed by const reference</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the Effects clause</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			266</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">9</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			sentance should be provided as a default definition, along with a
-			matching axiom</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			the Returns clause into the spefication for RandomAccessIterator
-			operator- as a default implementation. Move the Effects clause as
-			the matching axiom.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			267</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			code in the Requires clause for RandomAccessIterator operator[]
-			would be better expressed as an axiom.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Rewrite
-			the Requires clause as an axiom in the RandomAccessIterator
-			concept</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			268</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.1.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">This
-			note is potentialy confusing as __far enters the syntax as a clear
-			language extension, but the note treats it as a regular part of
-			the grammar. It might be better expressed using attributes in the
-			current wording.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Clean
-			up the note to either avoid using language extension, or spell out
-			this is a constraint to support extensions.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			60</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">24.1.8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Capability of an iterator is
-			too much restricted by concept.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Concept of std::Range is
-			defined as:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">concept Range<typename T>
-			{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">InputIterator iterator;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">iterator begin(T&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">iterator end(T&);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">So the following code
-			generates an error.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <std::Range Rng></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void sort(Rng& r)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.08in; text-indent: -0.08in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// error! Rng::iterator does
-			not satisfy requirements of a random</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.07in; text-indent: 0.08in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">// access iterator.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::sort(begin(r), end(r));</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::vector<int> v; //
-			vector::iterator is a random access iterator.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">sort(v);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">This is because the concept of
-			an iterator of std::Range is InputIterator. For this reason, a
-			random access iterator loses its capability when passed to a
-			std::Range parameter.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">To be able to work the above
-			code, we need to write as follows:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <std::Range T></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">requires
-			std::RandomAccessIterator<T::iterator> &&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::ShuffleIterator<T::iterator>
-			&&</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::LessThanComparable<T::iterator::value_type></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void sort(T& r)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">sort(begin(r), end(r));</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::vector<int> v;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">sort(v);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It needs quiet a few amount of
-			codes like this only to recover random access capability from
-			InputIterator concept.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">We can write the following
-			valid code with Boost.Range, which is implemented with using C++03
-			SFINAE.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class Range></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">void sort(Range& r)</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::sort(boost::begin(r),
-			boost::end(r));</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">std::vector<int> v;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">sort(v); // OK</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">One of the motivation to
-			introduce concepts are supporting template programming techniques
-			by language directly to eliminate hacky techniques such as
-			tag-dispatch, SFINAE and Type Traints. But SFINAE will be kept
-			using because it needs quite a few amount of codes without using
-			SFAINAE.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add InputRange, OutputRange,
-			ForwardRange, BidirectionalRange and RandomAccessRange.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			269</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">'decrements
-			for negative n' seems to imply a negative number of decrement
-			operations, which is odd.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Need
-			simple, clearer wording</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			270</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			reachability constraint in p5 means that a negavite result,
-			implying decrements operations in p4, is not possible</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Split
-			the two overloads into separate descriptions, where reachability
-			is permitted to be in either direction for RandomAccessIterator</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			271</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6,7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">next/prev
-			return an incremented iterator without changing the value of the
-			original iterator. However, even this may invalidate an
-			InputIterator. A ForwardIterator is required to guarantee the
-			'multipass' property.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			InputIterator constraint with FOrwardIterator in next and prev
-			function templates.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			272</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">reverse_iterator
-			and move_iterator use different formulations for their comparison
-			operations. move_iterator merely requires the minimal set of
-			operations, < and ==, from its underlying iterator and
-			synthesizes all oprations from these two. reverse_iterator relies
-			on the undelying iterator to support all comparision operations
-			directly. In practice, move_iterator can only be implemented this
-			way as it must support iterator types that are merely
-			InputIterators, and so SemiRegular and not Regular. However,
-			reserse_iterator has an existing specification and any change of
-			semantic could change behaviour of conforming programs today -
-			although an iterator that yields different results for (a > b)
-			than (b < a) may fall foul of some semantic consistency
-			requirements, even if the syntax is met.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Rephrase
-			the reverse_iterator comparison operations using only operators <
-			and ==, as per the move_iterator specification.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			274</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4,
-			24.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			subclauses for standard iterator adaptors could be better
-			organised. There are essentially 3 kinds of iterator wrappers
-			provided, stream iterators adapt streams and get their own
-			subsection. insert iterators adapt containers, and get their own
-			subsection but it is inserted into the middle of 24.4 Predifined
-			iterators. reverse_iterator and move_iterator adpat other
-			iterators, but their presentation is split by insert iterators</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Promote
-			24.4.2 [insert.iterators] up one level to 24.6. Emphasize that
-			insert iterators adapt containers Retarget 24.4 [predef.iterators]
-			as iterator adapters for iterator templates that wrap other
-			iterators.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			275</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			constructor template taking a single Iterator argument will be
-			selected for Copy Initialization instead of the non-template
-			constructor taking a single Iterator argument selected by Direct
-			Initialization.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			reverse_iterator template constructor taking a single Iterator
-			argument should be explicit.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			276</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is odd to have a mix of declaration stlyes for operator+
-			overloads. Prefer if either all are member functions, or all are
-			'free' functions.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Make
-			the member operators taking a difference_type argument non-member
-			operators</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			277</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			default constructor default-initializes current, rather than
-			value-initializes. This means that when Iterator corresponds to a
-			trivial type, the current member is left un-initialized, even when
-			the user explictly requests value intialization! At this point, it
-			is not safe to perform any operations on the reverse_iterator
-			other than assign it a new value or destroy it. Note that this
-			does correspond to the basic definition of a singular iterator.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">i/
-			Specify value initialization rather than default intialization or
-			ii/ specify = default; rather than spell out the semantic. This
-			will at least allow users to select value initialization and copy
-			the iterator value. or iii/ Add a note to the description
-			emphasizing the singular nature of a value-initialized reserve
-			iterator.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			278</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is an inconsistency between the constructor taking an iterator and
-			the constructor template taking a reverse_iterator where one
-			passes by value, and the other by const reference. The by-value
-			form is preferred as it allows for efficient moving when copy
-			elision fails to kick in.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the const reverse_iterator<U> & parameter to
-			pass-by-value</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			279</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.2.12,
-			24.4.3.2.12</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			reason the return type became unspecified is LWG issue 386. This
-			reasoning no longer applies as there are at least two ways to get
-			the right return type with the new language facilities added since
-			the previous standard.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Specify
-			the return type using either decltype or the Iter concept map</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			280</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.2.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			presence of the second iterator value is surprising for many
-			readers who underestimate the size of a reverse_iterator object.
-			Adding the exposition only member that is required by the semantic
-			will reduce confusion.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			reverse_iterator expsoition only member tmp as a comment to class
-			declaration, as a private member</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			281</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.1.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			current specification for return value will always be a true
-			pointer type, but reverse_iterator supports proxy iterators where
-			the pointer type may be some kind of 'smart pointer'</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the existing returns specification with a copy of the operator*
-			specification that returns this->tmp.operator-></FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			282</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.2.1,
-			24.4.2.2.2, 24.4.2.3, 24.4.2.4.2, 24.4.2.5, 24.4.2.6.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">n/a</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Insert
-			iterators of move-only types will move from lvalues</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			an additional constrained overload for operator= that requires
-			!CopyConstructible<Cont::value_type> and mark it =delete.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			283</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.4.2.5,
-			24.4.2.6.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">postincrement
-			operator overloads traditionally return by value - insert_iterator
-			is declared as return by reference. The change is harmless in this
-			case, but either front/back_insert_iterator should take the
-			matching change for consistency, or this function should
-			return-by-value</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">change
-			operator++(int) overload to return by value, not reference.
-			Affects both class summary and operator definition in p</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			61</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">24.4.3.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">nd</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"intializing"
-			should be "in<U>i</U>tializing"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add "i"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			284</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			stream iterators need constraining with concepts/requrires
-			clauses.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			285</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1,2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Much
-			of the content of p1 and the whole of p2 is a redundant
-			redefinition of InputIterator. It should be simplified</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			p2. Simplify p1 and add a cross-reference to the definition of
-			InputIterator concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			286</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">To
-			the casual reader it is not clear if it is intended to be able to
-			assign to istream_iterator objects. Specifying the copy
-			constructor but relying on the implicit copy-assign operator is
-			confusing.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			provide a similar definition to the copy-assign operator as for
-			the copy constructor, or strike the copy constructor</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			287</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not clear what the intial state of an istream_iterator should
-			be. Is _value_ initialized by reading the stream, or default/value
-			initialized? If it is initialized by reading the stream, what
-			happens if the initialization is deferred until first dereference,
-			when ideally the iterator value should have been that of an
-			end-of-stream iterator which is not safely dereferencable?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Specify
-			_value_ is initialized by reading the stream, or the iterator
-			takes on the end-of-stream value if the stream is empty</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			288</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			provided specification is vacuous, offering no useful information.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Either
-			strike the specification of the copy constructor, or simply
-			replace it with an = default definition.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			289</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is very hard to pick up the correct specification for
-			istream_iterator::operator== as the complete specification
-			requires reading two quite disconnected paragraphs, 24.5.1p3, and
-			24.5.1.2p6. Reading just the specifaction of the operation itself
-			suggests that end-of-stream iterators are indistinguishable from
-			'valid' stream iterators, which is a very dangerous misreading.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Merge
-			24.5.1p3, equality comparison of end-of-stream-iterators, into
-			24.5.1.2p6, the specification of the equality operator for
-			istream_iterator.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			290</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			character type of a string delimiter for an ostream_iterator
-			should be const charT *, the type of the elements, not char *, a
-			narrow character string.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			char * with const charT *</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			291</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">ostream_iterator
-			postincrement operator returns by reference rather than by value.
-			This may be a small efficiency gain, but it is otherwise
-			unconventional. Prefer return-by-value.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ostream_iterator
-			operator++(int);</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			34</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">24.5.3
-			[istreambuf.iterator]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">There
-			are two public sections, and the content of the second one is
-			indented with respect to the first.  I don't it should be.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			292</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Prefer
-			the use of the new nullptr constant to the zero literal when using
-			a null pointer in text.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			istreambuf_iterator(0) to istreambuf_iterator(nullptr)</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			293</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2,3,4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			listed paragraphs redundantly redefine an input iterator, and
-			redundancy can be a dangerous thing in a specification. Suggest a
-			simpler phrasing below.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">2.
-			The result of operator*() on an end of stream is undefined. For
-			any other iterator value a char_type value is returned. 3. Two end
-			of stream iterators are always equal. An end of stream iterator is
-			not equal to a non-end of stream iterator. 4. As
-			istreambuf_iterator() is an InputIterator but not a
-			ForwardIterator, istreambuf_iterators object can be used only for
-			one-pass algorithms. It is not possible to assign a character via
-			an input iterator. </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			294</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">24.5.3.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Implicit
-			converting constructors can be invoked at surprising times, so
-			there should always be a good reason for declaring one.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Mark
-			the two single-argument constructors take a stream or stream
-			buffer as explicit. The proxy constructor should remain implicit.
-			explicit istreambuf_iterator(basic_istream<charT,traits>&
-			s) throw(); explicit
-			istreambuf_iterator(basic_streambuf<charT,traits>* s)
-			throw(); </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			295</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">THere
-			is a level of redundancy in the library specification for many
-			algorithms that can be eliminated with the combination of concepts
-			and default parameters for function templates. Eliminating
-			redundancy simplified specification and reduces the risk of
-			inttroducing accidental inconsistencies.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Adopt
-			n2743, or an update of that paper.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			62</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">25,
-			25.3.1.5, 26.3.6.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The return types of
-			is_sorted_until function and is_heap_until function are iterator.
-			But basically, the return type of is_xxx function is bool. And the
-			return type of lower_bound function and upper_bound is iterator.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.2in; margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">So we think that it is
-			reasonable to change those two functions.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="text-indent: 0.2in; margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Change "is_sorted_until"
-			to "sorted_bound"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">Change "is_heap"
-			to "heap_bound"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			296</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.1.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			'Returns' of adjacent_find requires only HasEqualTo, or a
-			Predicate. Requiring EqualityComparable or EquivalenceRelation
-			seems too strong and not useful.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			EqualityComparable to HasEqualTo and EquivalnceRelation to
-			Predicate</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			297</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.2.11</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			definition of rotate_copy is very complicated. It is equivalent
-			to: return copy(first, middle, copy(middle, last, result));</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			'effects' to, returns, requires, complexity to: effects:
-			equivalent to: return copy(first, middle, copy(middle, last,
-			result));</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			298</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.2.13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">partition_point
-			requires a partitioned array</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">requires:
-			is_partitioned(first, last, pred) != false;</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			299</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Should
-			be consistent in style use of concepts in template parameter
-			lists. The auto-OutputIterator sytle used in std::copy is probably
-			preferred.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			way signature is declared: template<InputIterator InIter,
-			OutputIterator<auto, RvalueOf<InIter::reference>::type>
-			OutIter> OutIter move(InIter first, InIter last, OutIter
-			result); </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			300</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.2.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Since
-			publishing the original standard, we have learned that swap is a
-			fundamental operation, and several common idioms rely on it -
-			especially those related to exception safety. As such it belongs
-			in the common <utility> header rather than the broader
-			<algorithm> header, and likewise should move to clause 20.
-			For backwards compatiblility the algorithm header should be
-			required to #include <utility>, which would be covered in
-			the resolution of LWG issue 343. There are already dependencies in
-			<algorithm> on types declared in this header, so this
-			comment does not create a new dependency.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			primary swap template from <algorithm> into <utility>.
-			Move 25.2.3 to somewhere under 20.2. Require <algorithm> to
-			#include <utility> to access pair and provide legacy support
-			for finding swap.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			301</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.2.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">replace
-			and replace_if have the requirement: OutputIterator<Iter,
-			Iter::reference> Which implies they need to copy some values in
-			the range the algorithm is iterating over. This is not however the
-			case, the only thing that happens is const T&s might be copied
-			over existing elements (hence the OutputIterator<Iter, const
-			T&></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			OutputIterator<Iter, Iter::reference> from replace and
-			replace_if</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			302</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">the
-			concept StrictWeakOrder covers the definition of a strict weak
-			ordering, described in paragraph 4.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			4, and mention StrictWeakOrder in paragraph 1.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			303</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">This
-			paragraph just describes is_partitioned</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">6
-			A sequence [start,finish) is partitioned with respect to an
-			expression f(e) if is_partitioned(start, finish, e) != false</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			304</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.3.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			requires clauses of push_heap, pop_heap and make_heap are
-			inconsistently formatted, dispite being identical</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Format
-			them identically.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			305</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">25.3.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1,
-			9, 17</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			negative requirement on IsSameType is a hold-over from an earlier
-			draught with a variadic template form of min/max algorith. It is
-			no longer necessary.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			the !IsSameType<T, Compare> constraint on min/max/minmax
-			algorithms</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			84</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">26</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Parts of the numerics chapter
-			are not concept enabled.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			35</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">26.3
-			[Complex numbers]</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">te</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Instantiations
-			of the class template complex<> have to be allowed for
-			integral types, to reflect existing practice and ISO standards
-			(LIA-III).</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			306</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">26.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Random
-			number library component cannot be used in constrained templates</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for the random number library </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			63</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">26.4.8.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">No constructor of
-			discrete_distribution that accepts initializer_list.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">discrete_distribution
-			initialize distribution by a given range (iterators), but
-			temporary variable of a container or an array is needed in the
-			following case.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">int ar[] = {1, 2, 3};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">discrete_distribution<>
-			dist(ar, ar+3);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Other libraries also accept
-			initializer_list, so change discrete_distribution library to
-			accept initializer_list too.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add the following constructer.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt"><U>discrete_distribution(initializer_list<result_type>);</U></FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			64</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">26.5.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			“<FONT SIZE=2 STYLE="font-size: 9pt">valarray<T>&
-			operator+= (initializer_list<T>);” is not defined.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add valarray<T>&
-			operator+= (initializer_list<T>);</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			307</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">26.7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Footnote
-			288</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			footnote refers to TR1, which is not a defined term in this
-			standard. Drop the reference to TR1, those templates are a regular
-			part of the standard now and how they were introduced is no longer
-			relevant.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Drop
-			the reference to TR1.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			85</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The input/output chapter is
-			not concept enabled.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			308</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">27</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="en-US">iostreams
-			library cannot be used from constrained templates</SPAN></FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for the iostreams library, clause 27 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			65</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.4.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Switch from
-			“unspecified-bool-type” to</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="zxx"> “</SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			operator bool() const”.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"operator <I>unspecified-bool-type</I>()
-			const;" with "explicit operator bool() const;"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			66</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.4.4.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Switch from
-			“unspecified-bool-type” to</FONT><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif"><SPAN LANG="zxx"> “</SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			operator bool() const”</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			"operator <I>unspecified-bool-type</I>()
-			const;" with "explicit operator bool() const;"</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			36</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 10pt" FACE="Consolas, monospace">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">27.6.1.2.2
-			[istream.formatted.arithmetic]</FONT></FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1,
-			2, and  3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">iostate
-			err = 0;</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">iostate
-			is a bitmask type and so could be an enumeration.  Probably using</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">goodbit
-			is the solution.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			37</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">27.6.1.2.2
-			[istream.formatted.arithmetic]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">else
-			if (lval < numeric_limits<int>::min()</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">||
-			numeric_limits<int>::max() < lval))</FONT></P>
-			<P STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">The
-			parentheses aren't balanced.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			67</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf dose not use
-			concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace “class
-			Allocator” to “Allocator Alloc”.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			      <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			Alloc</U> =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">class basic_stringbuf :
-			public basic_streambuf<charT,traits> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.1.1 Constructors:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_stringbuf(ios_base::openmode which</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			                           <FONT SIZE=2 STYLE="font-size: 9pt">=
-			ios_base::in | ios_base::out);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit basic_stringbuf</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">(const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			     <FONT SIZE=2 STYLE="font-size: 9pt">ios_base::openmode which
-			= ios_base::in | ios_base::out);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf(basic_stringbuf&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.1.3 Get and set:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>
-			str() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			str(const basic_string<charT,traits,<U>Alloc</U>>&
-			s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringbuf<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringbuf<charT, traits, <U>Alloc</U>>&&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringbuf<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,
-			traits, <U>Alloc</U>>&&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			68</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream dose not
-			use concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace “class
-			Allocator” to “Allocator Alloc”.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			      <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			Alloc</U> =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">class basic_istringstream :
-			public basic_istream<charT,traits> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT             
-			       char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::int_type int_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::pos_type pos_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::off_type off_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef traits            
-			       traits_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>Alloc</U>
-			                    allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.2.1 Constructors:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_istringstream(ios_base::openmode which = ios_base::in);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_istringstream(</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			               <FONT SIZE=2 STYLE="font-size: 9pt">ios_base::openmode
-			which = ios_base::in);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream(basic_istringstream&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.2.2 Assign and
-			swap:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream&
-			operator=(basic_istringstream&& rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_istringstream&& rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.2.3 Members:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,traits,<U>Alloc</U>>*
-			rdbuf() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>
-			str() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			str(const basic_string<charT,traits,<U>Alloc</U>>&
-			s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">private:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">//
-			basic_stringbuf<charT,traits,<U>Alloc</U>>
-			sb; exposition only</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_istringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_istringstream<charT, traits, <U>Alloc</U>>&&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_istringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_istringstream<charT,
-			traits, <U>Alloc</U>>&&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			69</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream dose not
-			use concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace “class
-			Allocator” to “Allocator Alloc”.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			        <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			Alloc</U> =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">class basic_ostringstream :
-			public basic_ostream<charT,traits> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// types:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT             
-			       char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::int_type int_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::pos_type pos_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::off_type off_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef traits            
-			       traits_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>Alloc</U>
-			                    allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.3.1
-			Constructors/destructor:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_ostringstream(ios_base::openmode which = ios_base::out);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_ostringstream(</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			             <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			             <FONT SIZE=2 STYLE="font-size: 9pt">ios_base::openmode
-			which = ios_base::out);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream(basic_ostringstream&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.3.2 Assign/swap:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream&
-			operator=(basic_ostringstream&& rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_ostringstream&& rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.3.3 Members:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,traits,<U>Alloc</U>>*
-			rdbuf() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>
-			str() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			   str(const basic_string<charT,traits,<U>Alloc</U>>&
-			s);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">private:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">//
-			basic_stringbuf<charT,traits,<U>Alloc</U>>
-			sb; exposition only</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">
-			</FONT><FONT SIZE=2 STYLE="font-size: 9pt"><U>Alloc</U>></FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_ostringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">
-			</FONT><FONT SIZE=2 STYLE="font-size: 9pt"><U>Alloc</U>></FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_ostringstream<charT, traits, <U>Alloc</U>>&&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_ostringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_ostringstream<charT,
-			traits, <U>Alloc</U>>&&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			71</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.3</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">"template"
-			is missing in "class basic_ostringstream" of the title
-			of the chapter.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">27.7.3 Class
-			basic_ostringstream</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.3
-			Class <U>template</U>
-			basic_ostringstream</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			72</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.7.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">basic_stringstream dose not
-			use concept.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace "class Allocator"
-			to "Allocator Alloc".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			   <FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template <class charT,
-			class traits = char_traits<charT>,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			        <FONT SIZE=2 STYLE="font-size: 9pt"><U>Allocator
-			Alloc</U> =
-			allocator<charT> ></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">class basic_stringstream</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">: public
-			basic_iostream<charT,traits> {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">public:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// types:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef charT             
-			       char_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::int_type int_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::pos_type pos_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef typename
-			traits::off_type off_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef traits            
-			       traits_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">typedef <U>Alloc</U>
-			                    allocator_type;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// constructors/destructor</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_stringstream(</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">ios_base::openmode which =
-			ios_base::out|ios_base::in);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			basic_stringstream(</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">const
-			basic_string<charT,traits,<U>Alloc</U>>&
-			str,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">ios_base::openmode which =
-			ios_base::out|ios_base::in);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringstream(basic_stringstream&&
-			rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// 27.7.5.1 Assign/swap:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringstream&& rhs);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// Members:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringbuf<charT,traits,<U>Alloc</U>>*
-			rdbuf() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">basic_string<charT,traits,<U>Alloc</U>>
-			str() const;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">void
-			str(const basic_string<charT,traits,<U>Alloc</U>>&
-			str);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">private:</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">// basic_stringbuf<charT,
-			traits> sb; exposition only</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">
-			</FONT><FONT SIZE=2 STYLE="font-size: 9pt"><U>Alloc</U>></FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringstream<charT, traits, <U>Alloc</U>>&&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringstream<charT,
-			traits, <U>Alloc</U>>&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class charT, class traits, <U>Allocator</U></FONT><FONT SIZE=2 STYLE="font-size: 9pt" COLOR="#339966">
-			</FONT><FONT SIZE=2 STYLE="font-size: 9pt"><U>Alloc</U>></FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">void
-			swap(basic_stringstream<charT, traits, <U>Alloc</U>>&
-			x,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			            <FONT SIZE=2 STYLE="font-size: 9pt">basic_stringstream<charT,
-			traits, <U>Alloc</U>>&&
-			y);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			73</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">27.8.1.14</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">It is a problem from C++98,
-			fstream cannot appoint a filename of wide character string(const
-			wchar_t and const wstring&).</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add interface corresponding to
-			wchar_t, char16_t and char32_t.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			86</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">28</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The regular expressions
-			chapter is not concept enabled.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			309</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Regular
-			expressions cannot be used in constrained templates</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for the regular expression library, clause 28 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			310</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			regex chapter uses iterators in the old pre-concept style, it
-			should be changed to use concepts instead.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Use
-			concepts for iterator template arguments throughout.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			314</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			swap overloads for regex classes are only supplied for l-value
-			references. Other sections of the library (eg 21 strings or 23
-			containers) provide two extra overloads taking an r-value
-			reference as the first and second argument respectively.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the missing overloads to 28.4 and the corresponding later sections
-			in 28 for each swap function. We want to accept AMs paper which
-			proposes a single overload with two r-value references</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			315</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">p6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">6
-			Effects: string_type str(first, last); return
-			use_facet<collate<charT> >(
-			getloc()).transform(&*str.begin(), &*str.end()); Is it
-			legal to dereference str.end() ?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Reword
-			to effect clause to use legal iterator dereferences </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			316</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.4
-			ff</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			constructors for regex classes do not have an r-value overload.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			the missing r-value constructors to regex classes.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			317</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.8</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">basic_string
-			has both a constructor and an assignment operator that accepts an
-			initializer list, basic_regex should have the same.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">In
-			the basic_regex synopsis, after: basic_regex& operator=(const
-			charT* ptr); add: basic_regex&
-			operator=(initializer_list<charT> il); And after paragraph
-			20 add: basic_regex& operator=(initializer_list<charT>
-			il); Effects: returns assign(il.begin(), il.end()); </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			74</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">28.8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			“<FONT SIZE=2 STYLE="font-size: 9pt">basic_regx &
-			operator= (initializer_list<T>);” is not defined.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add basic_regx & operator=
-			(initializer_list<T>);</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			318</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.8.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">para
-			22</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Constructor
-			definition should appear with the other constructors not after
-			assignment ops.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			para 22 to just after para 17.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			319</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">28.12.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			was always expected that regex_token_iterator would be
-			constructible from an array literal: indeed ideally this is the
-			prefered method of initializing such an object. However, the best
-			we could do in C++0x was: template <std::size_t N>
-			regex_token_iterator(BidirectionalIterator a,
-			BidirectionalIterator b, const regex_type& re, const int
-			(&submatches)[N], regex_constants::match_flag_type m =
-			regex_constants::match_default); Now that we have
-			initializer_lists we should use them to remove this particular
-			wart.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">To
-			the synopsis for regex_token_iterator, after template <std::size_t
-			N> regex_token_iterator(BidirectionalIterator a,
-			BidirectionalIterator b, const regex_type& re, const int
-			(&submatches)[N], regex_constants::match_flag_type m =
-			regex_constants::match_default); add
-			regex_token_iterator(BidirectionalIterator a,
-			BidirectionalIterator b, const regex_type& re,
-			initializer_list<int> submatches,
-			regex_constants::match_flag_type m =
-			regex_constants::match_default); In 28.12.2.1 add the declaration:
-			regex_token_iterator(BidirectionalIterator a,
-			BidirectionalIterator b, const regex_type& re,
-			initializer_list<int> submatches,
-			regex_constants::match_flag_type m =
-			regex_constants::match_default); And to the end of para 3 add: The
-			forth constructor initializes the member subs to hold a copy of
-			the sequence of integer values in the range [submatches.begin(),
-			submatches.end()).</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			87</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The atomics chapter is not
-			concept enabled. The adopted paper, N2427, did have those
-			concepts.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			311</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">29</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Atomic
-			types cannot be used generically in a constrained template</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for the atomics library, clause 29 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			312</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">29</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			contents of the <stdatomic.h> header are not listed
-			anywhere, and <cstdatomic> is listed as a C99 header in
-			chapter 17. If we intend to use these for compatibility with a
-			future C standard, we should not use them now.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			<cstdatomic> from the C99 headers in table 14. Add a new
-			header <atomic> to the headers in table 13. Update chapter
-			29 to remove reference to <stdatomic.h> and replace the use
-			of <cstdatomic> with <atomic>. If and when WG14 adds
-			atomic operations to C we can add corresponding headers to table
-			14 with a TR.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			75</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">A definition of enum or struct
-			is the style of C using typedef.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Change to a style of C++.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">29.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef</U>
-			enum memory_order {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">memory_order_relaxed,
-			memory_order_consume, memory_order_acquire,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">memory_order_release,
-			memory_order_acq_rel, memory_order_seq_cst</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">} memory_order;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">enum memory_order {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">memory_order_relaxed,
-			memory_order_consume, memory_order_acquire,</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">memory_order_release,
-			memory_order_acq_rel, memory_order_seq_cst</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">29.3.1</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef</U>
-			struct atomic_bool {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">} atomic_bool;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">struct atomic_bool {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef</U>
-			struct atomic_<I>itype</I>
-			{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">}
-			atomic_<I>itype</I>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">struct
-			atomic_<I>itype</I>
-			{</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">29.3.2</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef</U>
-			struct atomic_address {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">} atomic_address;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">struct atomic_address {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">29.5</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt"><U>typedef</U>
-			struct atomic_flag {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">} atomic_flag;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">namespace std {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">struct atomic_flag {</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt">...</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			  <FONT SIZE=2 STYLE="font-size: 9pt">};</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">}</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			313</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">29.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">seq_cst
-			fences don't necessarily guarantee ordering
-			http://home.twcny.rr.com/hinnant/cpp_extensions/issues_preview/lwg-active.html#926></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a new paragraph after 29.1 [atomics.order]p5 that says For atomic
-			operations A and B on an atomic object M, where A and B modify M,
-			if there are memory_order_seq_cst fences X and Y such that A is
-			sequenced before X, Y is sequenced before B, and X precedes Y in
-			S, then B occurs later than A in the modifiction order of M. </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			88</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			"lockfree" facilities do not tell the programmer enough.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Expand the "lockfree"
-			facilities.  See the attached paper  "Issues with the C++
-			Standard"  under Chapter 29, "atomics.lockfree doesn't
-			tell the programmer enough"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			89</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29.3.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Table
-			122</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The types in the table
-			"Atomics for standard typedef types" should be typedefs,
-			not classes. These semantics are necessary for compatibility with
-			C.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			the classes to typedefs.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Google</FONT></P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			90</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Are
-			atomic functions allowed to have non-volatile overloads?</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Allow non-volatile overloads. 
-			See the attached paper "Issues with the C++ Standard, under
-			Chapter 29, "Are atomic functions allowed to have
-			non-volatile overloads?"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			91</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Whether
-			or not a failed compare_exchange is a RMW operation (as used in
-			1.10 [intro.multithread]) is unclear.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">Make
-			failing compare_exchange operations </FONT><STRONG><FONT SIZE=2 STYLE="font-size: 9pt">not</FONT></STRONG><FONT SIZE=2 STYLE="font-size: 9pt">
-			be RMW.  See the attached paper under "atomic RMW status of
-			failed compare_exchange"</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			92</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">29.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			effect of memory_order_consume with atomic RMW operations is
-			unclear.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Follow the lead of fences
-			[atomics.fences], and promote memory_order_consume to
-			memory_order_acquire with RMW operations.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			76</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">A
-			description for "<I>Throws:
-			</I>Nothing." are
-			not unified.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">At
-			the part without throw, "<I>Throws:
-			</I>Nothing."
-			should be described.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add
-			"<I>Throws:</I>
-			Nothing." to the following.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.6
-			, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3.1
-			, 4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3.2.1
-			, 6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">30.4.1
-			, 7</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			and 8</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			 <FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">30.4.2
-			, 6</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">,
-			7</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">,19</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">,21th
-			and 25</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			93</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">ge</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The thread chapter is not
-			concept enabled.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P ALIGN=JUSTIFY STYLE="margin-right: -0.18in; margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">UK<BR> 320</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Threads
-			library cannot be used in constrained templates</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			constraints for the threads library, clause 30 </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			321</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Throughout
-			this clause, the term Requires: is used to introduce compile time
-			requirements, which we expect to be replaced with concepts and
-			requires in code. Run-time preconditions are introduced with the
-			term "Preconditions:" which is not a defined part of the
-			library documentation structure (17.5.2.4). However, this is
-			exactly the direction that BSI would like to see the organisation
-			move, replacing Requires: clauses with Preconditions: clasues
-			throught the library. See comment against clause 17 for more
-			details.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Decument
-			Preconditions: paragraphs in 17.5.2.4, and use consistently
-			through rest of the library.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			94</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">30.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">The first
-			sentence of para 1 suggests that no other library function is
-			permitted to call operating system or low level APIs.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">Rewrite
-			para 1 as: “<FONT COLOR="#000000"> Some functions described
-			in this Clause are specified to throw exceptions of type
-			system_error (</FONT><FONT COLOR="#0000ff">19.4.5</FONT><FONT COLOR="#000000">
-			). Such exceptions shall be thrown if a call to an operating
-			system or underlying API results in an error that prevents the
-			library function from satisfying its postconditions or from
-			returning a meaningful value.”</FONT></FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			95</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">30.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P>“<FONT SIZE=2 STYLE="font-size: 9pt">native_handle_type”
-			is a typedef, not a class member.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Several
-			classes described in this Clause have a member native_handle
-			(of type native_handle_type)
-			. The</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">presence
-			of this member and its semantics is implementation defined. [ Note:
-			This member allows implementations to provide access to
-			implementation details. The name of the member and the type are
-			specified to facilitate portable compile-time detection. Actual
-			use of this member or the corresponding type is inherently
-			non-portable. —end
-			note ]</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			96</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">30.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">There is no
-			definition here for monotonic clock.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Implementations
-			should use a <I>monotonic
-			clock</I> to measure
-			time for these functions. A monotonic clock measures real time,
-			but cannot be set, and is guaranteed to have no negative clock
-			jumps.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			322</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Not
-			all systms can provide a monotonic clock. How are they expected to
-			treat a _for function?</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			at least a note explaining the intent for systems that do not
-			support a monotonic clock.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			323</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			presence of a non-explicit variadic template constructor alongside
-			an explicit single-argument constructor can lead to behaviour that
-			is not intended: the variadic constructor will be selected for
-			implicit conversions, defeating the purpose of the explicit
-			single-argument constructor. Additionally the single-argument
-			constructor is redundant; the variadic constructor can provide
-			identical functionality with one *fewer* copies if the supplied
-			func is an lvalue.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Mark
-			constructor template <class F, class ...Args> thread(F&&
-			f, Args&&... args); as explicit and remove the
-			single-argument constructor.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			324</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">thread::id
-			objects should be as useable in hashing containers as they are in
-			ordered associative containers.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			thread::id support for std::hash</FONT></P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><BR>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			77</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"CopyConstructible"
-			and  "MoveConstructible" in "<I>Requires:
-			</I>F and each Ti in
-			Args shall be CopyConstructible if an lvalue and otherwise
-			MoveConstructible." are reflected by interface.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Add a concept for constructor
-			of thread.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			78</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.2</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 11pt"><FONT SIZE=2 STYLE="font-size: 9pt">4</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">th</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			paragraph, 1</FONT><SUP><FONT SIZE=2 STYLE="font-size: 9pt">st</FONT></SUP><FONT SIZE=2 STYLE="font-size: 9pt">
-			line</FONT></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">In "F and each Ti in
-			Args", 'Ti' is not clear.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Replace "Ti" with
-			"args"</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">US
-			97</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.3</FONT></P>
-		</TD>
-		<TD>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">detach-on-destruction
-			may result in “escaped” threads accessing objects with
-			bounded lifetime after the end of their lifetime.</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">See
-			document WG21 N2802=08-0312 written by Hans Boehm.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">US
-			98</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.2.1.3,
-			30.2.1.4</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			current defined behavior for the std::thread destructor is to
-			detach the thread. Unfortunately, this behavior exposes
-			programmers to tricky, hard-to-diagnose, undefined behavior.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Change destruction behavior to
-			undefined behavior, with a note strongly encouraging termination. 
-			See the attached paper "Issues with the C++ Standard" 
-			under Chapter 30,  "Implicit thread detach is harmful".</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			325</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">We
-			believe constexpr literal values should be a more natural
-			expression of empty tag types than extern objects as it should
-			improve the compilers ability to optimize the empty object away
-			completely.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Replace
-			the extern declarations: extern const defer_lock_t defer_lock;
-			extern const try_to_lock_t try_to_lock; extern const adopt_lock_t
-			adopt_lock; with constexpr values constexpr defer_lock_t
-			defer_lock{}; constexpr try_to_lock_t try_to_lock{}; constexpr
-			adopt_lock_t adopt_lock{}; </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			326</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3.2.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">The
-			precondition that the mutex is not owned by this thread offers
-			introduces the risk of un-necessary undefined behaviour into the
-			program. The only time it matters whether the current thread owns
-			the mutex is in the lock operation, and that will happen
-			subsequent to construction in this case. The lock operation has
-			the identical pre-condition, so there is nothing gained by
-			asserting that precondition earlier and denying the program the
-			right to get into a valid state before calling lock.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			30.3.3.2.1p7</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			327</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">4,
-			9, 14, 19</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Not
-			clear what the specification for error condition
-			resource_deadlock_would_occur means. It is perfectly possible for
-			this thread to own the mutex without setting owns to true on this
-			specific lock object. It is also possible for lock operations to
-			succeed even if the thread does own the mutex, if the mutex is
-			recursive. Likewise, if the mutex is not recursive and the mutex
-			has been locked externally, it is not always possible to know that
-			this error condition should be raised, depending on the host
-			operating system facilities. It is possible that 'i.e.' was
-			supposed to be 'e.g.' and that suggests that recursive locks are
-			not allowed. That makes sense, as the exposition-only member owns
-			is boolean and not a integer to count recursive locks.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a precondition !owns. Change the 'i.e.' in the error condition to
-			be 'e.g.' to allow for this condition to propogate deadlock
-			detection by the host OS.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			328</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.3.3.2.2</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">20</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is a missing precondition that owns is true, or an if(owns) test
-			is missing from the effect clause</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a precondition that owns == true. Add an error condition to detect
-			a violation, rather than yield undefined behaviour.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			329</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">future,
-			promise and packaged_task provide a framework for creating future
-			values, but a simple function to tie all three components together
-			is missing. Note that we only need a *simple* facility for C++0x.
-			Advanced thread pools are to be left for TR2.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a simple function along the lines of: template< typename F,
-			typename ... Args > requires Callable< F, Args... >
-			future< Callable::result_type > async( F&& f, Args
-			&& ... ); Semantics are similar to creating a thread
-			object with a packaged_task invoking f with forward<Args>(args...)
-			but details are left unspecified to allow different scheduling and
-			thread spawning implementations. It is unspecified whether a task
-			submitted to async is run on its own thread or a thread previously
-			used for another async task. If a call to async succeeds, it shall
-			be safe to wait for it from any thread. The state of thread_local
-			variables shall be preserved during async calls. No two incomplete
-			async tasks shall see the same value of this_thread::get_id().
-			[Note: this effectively forces new tasks to be run on a new
-			thread, or a fixed-size pool with no queue. If the library is
-			unable to spawn a new thread or there are no free worker threads
-			then the async call should fail.]</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			330</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.5.1
-			(and then 30.5.7) refer to a specialisation of
-			constructible_with_allocator_prefix<> However this trait is
-			not in the CD, so references to it should be removed.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the reference to constructible_with_allocator_prefix in 30.5.1
-			Remove paragraph 30.5.7</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			79</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.5.1</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">The concept of UsesAllocator
-			and Allocator should be used.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class R, class
-			Alloc></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">struct
-			uses_allocator<promise<R>, Alloc>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">struct
-			constructible_with_allocator_prefix<promise<R> >;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template<class R, Allocator
-			Alloc></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">concept_map
-			UsesAllocator<promise<R>, Alloc>;</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			331</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Not
-			clear what it means for a public constructor to be 'exposition
-			only'. If the intent is purely to support the library calling this
-			constructor then it can be made private and accessed through
-			friendship. Otherwise it should be documented for public
-			consumption.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Declare
-			the constructor as private with a note about intended friendship,
-			or remove the exposition-only comment and document the semantics.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			332</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ed</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is not clear without reference to the original proposal how to use
-			a future. In particular, the only way for the user to construct a
-			future is via the promise API which is documented after the
-			presentation of future. Most library clauses feature a small
-			description of their components and intended use, it would be most
-			useful in this case.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Provide
-			a small introductory paragraph, docuenting intended purpose of the
-			future class template and the way futures can only be created via
-			the promise API.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			333</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">We
-			expect the complicated 3-signature specifcation for future::get()
-			to be simplified to a single signature with a requires clause by
-			the application of concepts.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Requires
-			fully baked concepts for clause 30</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			334</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Behaviour
-			of get() is undefined if calling get() while not is_ready(). The
-			intent is that get() is a blocking call, and will wait for the
-			future to become ready.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Effects:
-			If is_ready() would return false, block on the asynchronous result
-			associated with *this. </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			335</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">std::unique_future
-			is MoveConstructible, so you can transfer the association with an
-			asynchronous result from one instance to another. However, there
-			is no way to determine whether or not an instance has been moved
-			from, and therefore whether or not it is safe to wait for it.
-			std::promise<int> p; std::unique_future<int>
-			uf(p.get_future()); std::unique_future<int>
-			uf2(std::move(uf)); uf.wait(); // oops, uf has no result to wait
-			for.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a "waitable()" function to unique_future (and
-			shared_future) akin to std::thread::joinable(), which returns true
-			if there is an associated result to wait for (whether or not it is
-			ready). Then we can say: if(uf.waitable()) uf.wait(); </FONT>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			336</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is possible to transfer ownership of the asynchronous result from
-			one unique_future instance to another via the move-constructor.
-			However, it is not possible to transfer it back, and nor is it
-			possible to create a default-constructed unique_future instance to
-			use as a later move target. This unduly limits the use of
-			unique_future in code. Also, the lack of a move-assignment
-			operator restricts the use of unique_future in containers such as
-			std::vector - vector::insert requires move-assignable for example.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a default constructor with the semantics that it creates a
-			unique_future with no associated asynchronous result. Add a
-			move-assignment operator which transfers ownership.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			80</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.5.4
-			, 30.5.5</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Typo, duplicated ">"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">"class Period>>"</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Remove one</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			337</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">shared_future
-			should support an efficient move constructor that can avoid
-			unnecessary manipulation of a reference count, much like
-			shared_ptr</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a move constructor</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			338</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.5</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">shared_future
-			is currently CopyConstructible, but not CopyAssignable. This is
-			inconsistent with shared_ptr, and will surprise users. Users will
-			then write work-arounds to provide this behaviour. We should
-			provide it simply and efficiently as part of shared_future. Note
-			that since the shared_future member functions for accessing the
-			state are all declared const, the original usage of an immutable
-			shared_future value that can be freely copied by multiple threads
-			can be retained by declaring such an instance as "const
-			shared_future".</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			"=delete" from the copy-assignment operator of
-			shared_future. Add a move-constructor
-			shared_future(shared_future&& rhs), and a move-assignment
-			operator shared_future& operator=(shared_future&&
-			rhs). The postcondition for the copy-assignment operator is that
-			*this has the same associated state as rhs. The postcondition for
-			the move-constructor and move assignment is that *this has the
-			same associated as rhs had before the constructor/assignment call
-			and that rhs has no associated state.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			339</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">6,
-			7</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Move
-			assignment is goiing in the wrong direction, assigning from *this
-			to the passed rvalue, and then returning a reference to an
-			unusable *this</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Strike
-			6. 7 Postcondition: associated state of *this is the same as the
-			associated state of rhs before the call. rhs has no associated
-			state. </FONT>
-			</P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			340</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">11,
-			12, 13</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">There
-			is an implied postcondition that the state of the promise is
-			transferred into the future leaving the promise with no associated
-			state. It should be spelled out.</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Postcondition:
-			*this has no associated state.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			341</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">promise::swap
-			accepts its parameter by lvalue reference. This is inconsistent
-			with other types that provide a swap member function, where those
-			swap functions accept an rvalue reference</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Change
-			promise::swap to take an rvalue reference.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			342</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">std::promise
-			is missing a non-member overload of swap. This is inconsistent
-			with other types that provide a swap member function</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a non-member overload void swap(promise&& x,promise&&
-			y){ x.swap(y); }</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			343</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">30.5.6</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">3</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Te</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">The
-			move constructor of a std::promise object does not need to
-			allocate any memory, so the move-construct-with-allocator overload
-			of the constructor is superfluous.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT STYLE="margin-bottom: 0in"><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the constructor with the signature template <class Allocator>
-			promise(allocator_arg_t, const Allocator& a, promise&
-			rhs);</FONT></P>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">JP
-			81</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">30.5.8</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">ed</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">There are not requirements for
-			F and a concept of Allocator dose not use.</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">Correct as follows.</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<BR>
-			</P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit packaged_task(F f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F, class
-			Allocator></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			packaged_task(allocator_arg_t, const Allocator& a, F f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit packaged_task(F&&
-			f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F, class
-			Allocator></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			packaged_task(allocator_arg_t, const Allocator& a, F&&
-			f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 <FONT SIZE=2 STYLE="font-size: 9pt">should be</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit packaged_task(F f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class F, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			packaged_task(allocator_arg_t, const <U>Alloc</U>&
-			a, F f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template <class F></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit packaged_task(F&&
-			f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			 </P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">template
-			<class F, <U>Allocator
-			Alloc</U>></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			    <FONT SIZE=2 STYLE="font-size: 9pt"><U>requires
-			CopyConstructible<F> && Callable<F, ArgTypes...></U></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-bottom: 0in">
-			          <FONT SIZE=2 STYLE="font-size: 9pt">&&
-			Convertible<Callable<F, ArgTypes...>::result_type, R></FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in; margin-bottom: 0.04in">
-			<FONT SIZE=2 STYLE="font-size: 9pt">explicit
-			packaged_task(allocator_arg_t, const <U>Alloc</U>&
-			a, F&& f);</FONT></P>
-			<P LANG="en-GB" ALIGN=LEFT STYLE="margin-top: 0.04in">
-			<BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-23</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Annex
-			B</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-23
-			Recursive use of constexpr functions appears to be permitted.
-			Since such functions may be required to be evaluated at
-			compile-time, Annex B "implementation quantities" should
-			specify a maximum depth of recursion.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">In
-			Annex B, specify a recursion depth of 256 or a larger value.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-24</FONT></P>
-		</TD>
-		<TD>
-			<P> <FONT SIZE=2 STYLE="font-size: 9pt">Annex
-			B</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-24
-			The number of placeholders for "bind" is
-			implementation-defined in 20.7.12.1.4, but no minimum is suggested
-			in Annex B.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			a miminum of 10 placeholders to Annex B.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">DE-25</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Annex
-			B</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">p2</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">te</FONT></P>
-		</TD>
-		<TD>
-			<P LANG="en-GB" STYLE="margin-top: 0.04in; margin-bottom: 0.04in"><FONT SIZE=2 STYLE="font-size: 9pt">DE-25
-			Specifying a minimum of 17 recursively nested template
-			instantiations is too small for practical purposes. The limit is
-			too high to effectively limit compiler resource usage, see
-			http://ubiety.uwaterloo.ca/~tveldhui/papers/2003/turing.pdf . The
-			conclusion is that the metric "number of recursively nested
-			template instantiations" is inapposite.</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">Remove
-			the bullet "Recursively nested template instantiations [17]".</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			38</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">C.2
-			[diffs.library]</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">1</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">What
-			is ISO/IEC 1990:9899/DAM 1?  My guess is that's a typo for ISO/IEC</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">9899/Amd.1:1995
-			which I'd have expected to be referenced here (the tables</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">make
-			reference to things which were introduced by Amd.1).</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">One
-			need probably a reference to the document which introduce char16_t
-			and</FONT></P>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">char32_t
-			in C (ISO/IEC TR 19769:2004?).</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">UK<BR>
-			344</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Appendix
-			D</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><FONT SIZE=2 STYLE="font-size: 9pt">Ge</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">It
-			is desirable to allow some mechanism to support phasing out of
-			deprecated features in the future. Allowing compilers to implement
-			a mode where deprecated features are not available is a good first
-			step.</FONT></P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><FONT SIZE=2 STYLE="font-size: 9pt">Add
-			to the definition of deprecated features permission for compilers
-			to maintain a conditionally supported mode where deprecated
-			features can be disabled, so long as they also default to a mode
-			where all deprecated features are supported.</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt">FR
-			39</FONT></P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Index</FONT></P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">ed</FONT></P>
-		</TD>
-		<TD>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">Some
-			definitions seem not indexed (such as /trivially copyable/ or</FONT></P>
-			<P STYLE="margin-bottom: 0in">
-            <FONT SIZE=2 STYLE="font-size: 9pt" FACE="Arial, sans-serif">/sequenced
-			before/), indexing them would be useful (and marking specially the
-			page -- say bold or italic -- which reference to the definition
-			would increase the usefulness; having a separate index of all
-			definitions is something which could also be considered).</FONT></P>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-	<TR VALIGN=TOP>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=JUSTIFY><BR>
-			</P>
-		</TD>
-		<TD>
-			<P ALIGN=LEFT><BR>
-			</P>
-		</TD>
-		<TD>
-			<P><BR>
-			</P>
-		</TD>
-	</TR>
-</TABLE>
-</BODY>
-</HTML>
\ No newline at end of file
+<meta name="generator" content=
+"Microsoft FrontPage 5.0">
+<meta http-equiv="CONTENT-TYPE" content=
+"text/html; charset=us-ascii">
+<title>C++0x CD1 NB Comments</title>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="AUTHOR" content="dow">
+<meta name="CREATED" content="20090221;19590000">
+<meta name="CHANGEDBY" content=" Barry E Hedquist">
+<meta name="CHANGED" content="20090222;18460000">
+<meta name="DESCRIPTION" content="FORM (ISO)">
+<style type="text/css">
+        <!--
+                @page { size: 11.69in 8.27in; margin-right: 0.59in }
+                P { margin-bottom: 0.08in; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2 }
+                P.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }
+                P.cjk { font-family: "Times New Roman", serif; font-size: 10pt }
+                P.ctl { font-family: "Arial", sans-serif; font-size: 10pt; so-language: ar-SA }
+                TT { font-family: "DejaVu Sans Mono", "Consolas", monospace }
+        -->
+</style>
+<body lang="en-US" text="#000000" dir="ltr">
+<div type="HEADER">
+<table border="1" bordercolor="#000000" cellpadding="7"
+cellspacing="0" style="border-collapse: collapse">
+<tr valign="top">
+<td>
+<p>1</font>
+<td>
+<p><font size="1" style="font-size: 8pt">2</font>
+<td>
+<p><font size="1" style="font-size: 8pt">3</font>
+<td>
+<p><font size="1" style="font-size: 8pt">4</font>
+<td>
+<p><font size="1" style="font-size: 8pt">5</font>
+<td>
+<p><font size="1" style="font-size: 8pt">6</font>
+<td>
+<p><font size="1" style="font-size: 8pt">7</font>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 11pt"><font size="1" style=
+"font-size: 8pt"><b>MB</b></font><sup><font size="1" style=
+"font-size: 6pt"><b>1</b></font></sup><font size="1" style=
+"font-size: 8pt"><b><br></b></font></font><br>
+<td>
+<p><font size="1" style="font-size: 8pt"><b>Clause No./<br>
+Subclause No./<br>
+Annex<br></b>(e.g. 3.1)</font>
+<td>
+<p><font size="1" style="font-size: 8pt"><b>Paragraph/<br>
+Figure/Table/Note<br></b>(e.g. Table 1)</font>
+<td>
+<p><font size="2" style="font-size: 11pt"><font size="1" style=
+"font-size: 8pt"><b>Type of com-ment</b></font><sup><font size="1"
+style="font-size: 6pt"><b>2</b></font></sup></font>
+<td>
+<p><font size="1" style="font-size: 8pt"><b>Comment (justification
+for change) by the MB</b></font>
+<td>
+<p><font size="1" style="font-size: 8pt"><b>Proposed change by the
+MB</b></font>
+<td>
+<p lang="en-GB" align="center" style=
+"margin-top: 0.07in; margin-bottom: 0.04in; page-break-inside: avoid">
+<font size="1" style="font-size: 8pt"><b>Disposition</b></font>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">General Comment</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ge</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Interactions between several new features
+appear obscure, and very few examples are offered to guide
+understanding of the formal text on interaction between these new
+additions.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">We worry about the complexity of the
+programming model so created.</font>
+<p style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1-16</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge/te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The active issues identified in WG21
+N2803, C++ Standard Core Language Active Issues, must be addressed
+and appropriate action taken.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+<font color="#000080" size="2" style="font-size: 11pt"><u><a href=
+"http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html"><font size="2"
+style=
+"font-size: 9pt">http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html></a></u></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Appropriate action would include making
+changes to the CD, identifying an issue as not requiring a change
+to the CD, or deferring the issue to a later point in time.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">CA-1</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There are quite a number
+of defects for the current CD recorded in SC22/WG21-N2803 and
+N2806</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Consider these comments
+and update ISO/IEC CD 14882 accordingly</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1 through 16</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ge/te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-1 Consider addressing a
+significant part of the unresolved core language issues presented
+in WG21 document N2791 "C++ Standard Core Language Active Issues,
+Revision 59", available at
+http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2791.html
+.</font>
+<td>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">CH 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">all</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The issues on the issues
+lists shall be addressed before the standard becomes final.</font>
+<td>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">all</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Latin abbreviations are
+presented incorrectly.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Italicize all Latin
+abbreviations, append commas after each occurrence of <i>i.e</i>.
+and <i>e.g.</i>, and remove extraneous space after each such
+abbreviation.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1 [intro.scope]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">C++ is split at the end of line.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">There is a bad line break in "C++".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">List of
+additional facilities over C has been extended with this standard,
+so should be mentioned in the introductory material.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the
+following to the list in 1.1p2: atomic operations concurrency
+alignment control user-defined literals attributes</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.2 [intro.refs]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Is the lack of reference to ISO/CEI
+9899/AC3:2007 voluntary?</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><span lang="en-US">We recommend taking
+the latest update to each listed standard, yet the C standard is
+quite deliberately held back to the 1990 version without
+comment.+</span></font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">... not sure
+...</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 3</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">1.3.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+definition of an argument does not seem to cover many assumed use
+cases, and we believe that is not intentional.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Revise the definition of argument to answer
+question such as: Are lambda-captures arguments? Are type names in
+a throw-spec arguments? 'Argument' to casts, typeid, alignof,
+alignas, decltype and sizeof? why in x[arg] : arg is not an
+agrument, but the value forwarded to operator[]() is ? Does not
+apply to operators as call-points not bounded by parenthises ?
+Similar for copy initialization and conversion? what are Deduced
+template 'arguments'? what are 'default arguments'? can attributes
+have arguments? what about concepts, requires clauses and
+concept_map instantiations? What about user-defined literals where
+parens are not used?</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 4</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">1.3.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+definition is essentially worthless, as it says nothing about what
+distinguished a diagnostic message from other output messages
+provided by the implementation</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">... add something about the diagnostic message
+being a message issues by the implementation when translating a
+program that violates the rules of the standard. ...</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.3.4
+[defns.dynamic.type]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">"The dynamic type of an rvalue expression is
+its static type." Is this true with rvalue references?</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.3.5</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The wording is unclear as
+to whether it is the input or the implementation "that is not a
+well-formed program".</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Reword to clarify that it
+is the input that is here considered not well-formed.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 6</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.3.6
+[defns.impl.defined]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">There is a page break between the title and the
+paragraph.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.3.13
+[defns.undefined]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">[intro.execution]/5 explicitly allows non
+causal undefined behaviour,</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Adding it to the note outlying possible
+undefined behaviours.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 6</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1.3.14</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Unspecified behavior does not clearly
+state whether or not undefined behavior is permitted. (The standard
+says that "usually, the range of possible behaviors is delineated",
+but what happens if the range is not delineated? Is a crash, or
+worse, allowed?)</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Clearly state whether or not Unspecified behavior
+includes undefined behavior.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 8</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.4
+[intro.compliance]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The paragraph as its stands seems to require
+that violations of the ODR (which make a program ill-formed) are
+required to be diagnosed if the program also uses an extension
+which defines some cases of ODR.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Missing
+checklist of implementation defined behaviour (see ISO/IEC TR
+10176, 4.1.1p6)</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide a new
+annex with the missing checklist</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Missing annex
+describing potential incompatibility to previous edition of the
+standard (see ISO/IEC TR 10176, 4.1.1p9)</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide a new
+annex with the missing documentation. See n2733(08-0243) for a
+starting point</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There is no mention of
+Clause 17.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Include Clause 17 among
+the list of Clauses that specify the Standard Library.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 8</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">The paragraph omits to
+mention concepts and concept maps among its list of entities
+defined in the Standard Library.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Mention concepts and
+concept maps among the list of entities.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 9</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1.6</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The syntax description does not account
+for lines that wrap.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 10</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1.7</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">The term thread is used before defined.</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style="font-size: 9pt" color=
+"#000000">R</font><font size="2" style="font-size: 9pt">eference
+1.10 [intro.multithread].</font></font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 11</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3 last sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The phrase “threads
+of execution” should be accompanied by a reference to
+[intro.multithread].</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Insert the recommended
+reference.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 12</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3 first
+sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">A memory location is not
+an object as the sentence claims.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Clarify that a memory
+location “holds” an object rather than that it
+“is” an object.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 13</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3 last sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">It is unclear what is
+meant by memory locations that are "separate": are they distinct?
+non-overlapping? how much "separation" is needed?</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Provide either a better
+definition of “separate” or reword (this and subsequent
+paragraphs) to avoid this term.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 14</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The phrase "no matter what
+the sizes of the intervening bit-fields happen to be" contradicts
+the claim of separation "by a zero-length bit-field
+declaration".</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Delete the “no
+matter…” phrase, or resolve the contradiction in a
+different way.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 15</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">A struct does not
+“contain” memory locations.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Reword so that a struct is
+“held in” one or more memory locations.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 16</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.9</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">The discussion of
+observable behavior in 1.9 is not consistent with the addition of
+threads to the language. Volatile reads and writes and other
+observable actions no longer occur in a single
+"sequence”.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Remove/replace various
+occurrences of "sequence" in 1.9.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">With parallel
+execution there is no longer the idea of a single execution
+sequence for a program. Instead, a program may be considered a set
+of exectution sequences.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Update first
+sentance as: A conforming implementation executing a well-formed
+program shall produce the same observable behavior as one of the
+possible SETS OF execution sequences of the corresponding instance
+of the abstract machine CONFORMING TO THE MEMORY MODEL (1.10) with
+the same program and the same input.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1.9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Does the term
+'sequence' imply all reads/writes through volatile memory much be
+serialized, and cannot occur in parallel on truly parallel
+hardware? Allow for multiple concurrent sequences where each
+sequence is constrained by this observable behaviour rule, and
+multiple sequences are constrained by the memory model and
+happens-before relationships defined in 1.10</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+'sequence' with 'sequences'.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 9</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.9
+[intro.execution]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">16</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">This example use int *v while the other
+examples seems to use notation like int* v.</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 17</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1.10</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">This definition of “thread” is poor,
+and assumes the user already knows what multi-threaded means
+(probably true!). In particular, it does not deal adequately with
+the concept that all threads share the same address space.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Replace first sentence of
+para 1 as follows:</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Under a hosted implementation, a C++ program can
+have more than one thread of execution (a.k.a. thread) running
+concurrently. Each thread is a single flow of control within a
+program. Anything whose address may be determined by a thread,
+including but not limited to static objects, storage obtained via
+new or by any dynamic allocator, directly addressable storage
+obtained through implementation-defined functions, and automatic
+variables, are accessible to all threads in the same
+program.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2,
+4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Undefined
+behaviour is a drastic way to silently ignore minor issues. The
+cases in this paragraph could be easily defined. In this case opt
+for conditionally supported behaviour, which mandates a diagnostic
+if the compiler is not prepared to handle the syntax
+consistently.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace undefined behaviour with conditionally
+supported behavior. Conditional behaviour may be implementation
+defined, although suggest there is a reasonable default in each
+case. For creating a universal-character name, splice text to
+create a universal-character. In the case of a file ending without
+a newline, treat as if the newline was implictly added, with an
+empty line to follow if the last character was a back-slash.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK 10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Implementation defined seems unnecessarily
+burdensome for negligible gain. I am yet to see code that depended
+on whether non-empty sequences of whitespace were concatenated.
+Better left unspecified.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">How the
+compiler treats non-empty sequences of whitespace should be left
+unspecified, rather than implementation-defined.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 10</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.1 [lex.phases]/5 and 2.2
+[lex.charset]/3</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">[defns.multibyte] "the extended character
+set."</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">[lex.charset]/3 cited below implies that
+there is an extended character set per locale.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">[lex.phases]/5 "Each [...]
+universal-character-name [...] is converted to the corresponding
+member of the execution character set"</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">[lex.charset]/3 "The values of the members
+of the execution character sets are implementation defined, and any
+additional members are locale-specific."</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Together they seem to imply that what is
+locale-specific is if a value is valid or not for the current
+locale, not the representation of a given universal
+character.</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">This is not the behaviour of at least some
+compilers I've access to which are allowing different codes for the
+same abstract character in different locale. During phase 5, they
+are using an implementation defined char set.</font>
+<p style="margin-bottom: 0in"><br>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Trigraphs are
+a complicated solution to an old problem, that cause more problems
+than they solve in the modern environment. Unexpected trigraphs in
+string literals and occasionally in comments can be very confusing
+for the non-expert.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Deprecate the
+whole of 2.3 and move it to appendix D.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2.4,
+2.8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This undefined behaviour in token concatenation is
+worrying and we believe hard to justify. An implementation should
+either support this in a defined way, or issue a diagnosic.
+Documenting existing practice should not break existing
+implementations, although unconditionally requiring a diagnostic
+would lead to more portable programs.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+undefined behaviour with conditionally supported behaviour with
+implementation defined semantics.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 18</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The paragraph begins with
+an empty line.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Delete the empty
+line.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 11</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.4 [lex.pptokens]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">There are spurious empty lines.</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 12</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.5 [lex.digraph] and 2.11
+[lex.key]/2</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The alternative representations are reserved as
+such even in attribute. Is that what is wanted?</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.5</font>
+<td>
+<p lang="fi-FI" style="margin-top: 0.04in"><font size="2" style=
+"font-size: 9pt">Table 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add eq, for spelling out
+== in order to distinguish it from the assignment operator.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">See eq-keyword.doc,
+eq-keyword.ppt</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2.9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This text is
+confusing in isolation, as it implies pp-numbers do not have a
+value in translation phase 4 when evaluating #if preprocessor
+expressions.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a note
+with a cross-refernce to 16.1 that a pp-number may briefly acquire
+a value during translation phase 4 while evaluating #if
+expressions.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">table
+3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The table is nearly sorted, but not quite. It was
+sorted in previous versions of the standard.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Sort the
+table.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.11</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Table 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Keywords in the table are
+listed disorderly. Also, a part of a frame of the table is not
+drawn.</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Sort it in alphabetical order. Complete the table
+frame.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 19</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.13.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Table 5, rows “l or
+L” and “ll or LL”</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The final entry in the
+last column (“unsigned long int”) is incorrect.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Replace the incorrect
+entries by “unsigned long long int”.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 20</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2.13.1, 2.13.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Long strings of digits in literals are a
+continuing problem in the production and maintenance of
+programs.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Adopt the 1983 technology of Ada and use
+underscores to separate digits.</font> <font color=
+"#000080"><u><a href=
+"http://www.google.com/url?sa=D&q=http%3A%2F%2Fwww.open-std.org%2FJTC1%2FSC22%2FWG21%2Fdocs%2Fpapers%2F2007%2Fn2281.html"
+target="_blank"><font size="2" style=
+"font-size: 9pt">http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2281.html></a></u></font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">15</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.13.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Inconsistency
+between definition of a multicharacter literal and a wide character
+literal containing multiple c-chars.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Define the term multicharacter wide literal for a
+wchar_t literal containing multiple elements, and specify its type
+is integer (or wider)</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">16</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.13.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Not
+immediately clear why the question mark needs escaping. A note
+would help.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a note explaining that the ? character may
+need escaping to avoid accidentally creating a trigraph.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Typo, R"..." should be R"[...]"</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Correct typo.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">We think that the
+explanation of d-char-sequence is not enough.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add the following.</font>
+<ol>
+<li>
+<p lang="en-GB" align="left" style=
+"margin-bottom: 0in; widows: 0; orphans: 0"><font size="2" style=
+"font-size: 9pt">Add the following to the explanation of
+d-char-sequence, more easily to understand.</font></ol>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">...prefix is a raw string literal.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The d-char-sequence is used as delimiter.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The terminating d-char-sequence of ...</font>
+<ol start="2">
+<li>
+<p lang="en-GB" align="left" style=
+"margin-bottom: 0in; widows: 0; orphans: 0"><font size="2" style=
+"font-size: 9pt">Add the following note that there are square
+brackets in r-char-sequence.</font></ol>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">[Note:</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.83in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">char foo[] = R”<i>delimiter</i>[[a-z]
+specifies a range which matches any lowercase letter from "a" to
+"z".]<i>delimiter</i>”;</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">the expression statement behaves exactly the same
+as</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.83in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">char foo[]="[a-z] specifies a range which matches
+any lowercase letter from \"a\" to \"z\".";</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.69in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">- end note]</font>
+<p lang="en-GB" align="left" style="text-indent: 0.69in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">3</font><sup><font size="2" style=
+"font-size: 9pt">rd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1st line of example</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo. Lack of a necessary backslash in
+the first line of the example as follows:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const char *p = R"[a</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">b</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">c]";</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const char *p = R"[a\</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">b</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">c]";</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Correct typo.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 21</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.13.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The paragraph, marked as a
+Note, contains an embedded example not marked as such.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Denote the code (and
+perhaps also its commentary) as an Example.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 22</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.13.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The code does not have the
+effect predicted by its accompanying narrative.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Append a backslash to the
+first line of the code.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 5</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">11</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Table 7</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">It is not explicit how to
+combine raw-string and non-raw-string.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add rules containing
+raw-string in the table 7.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 13</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2.13.4 [lex.string]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Shouldn't the assert be</font>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">assert(std::strcmp(p, "a\nb\nc") == 0);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">17</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It would be preferred for attempts to modify
+string literals to be diagnosable errors. This is not possible due
+to the deprecated implicit conversion to pointer to null-terminated
+character sequence of non-const characters. If this deprecated
+conversion were remove (see other comments) then string literals
+are always accessed through const types, and the compiler can
+enforce the no modification rule. The only exception would be using
+const_cast to cast away constness, but this is already covered
+under the const_cast rules so needs no further detail here.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">(asssuming
+deprecated conversion to non-const array is removed or can be
+turned off) Strike the sentence on undefined behaviour.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">18</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The addition of static_assert (7p4) to the
+language raises the need to concatenate string representations of
+integral constant expressions (typically from a sizeof or alignof
+expression) with narrow string literals to provide an informative
+error message. There is no need to support arbitrary constant
+expressions and especially not floating point values or formatting
+flags. Likewise, the need is purely to support static_assert so
+only narrow string literal support is required, although
+generalizing to other literal types would be useful.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Define a
+syntax to support string-ization of integral constant expressions
+in a form eligible for string literal concatenation, 2.13.4p6.
+Suggested syntax: I" integral-constant-expression ". There is no
+raw variant, although it could combine with type specifier in the
+same way that the R prefix does, supporting u8I, uI, UI and
+LI.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">19</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2.13.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The grammar
+for string literal is becoming unwieldy and could easily be
+refactored into the type optional specifier and the string
+contents.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Refactor string-literal grammar as: (note -
+current Drupal view loses formatting which is vital to clearly read
+the grammar) string-literal: string-literal-type-specifierOPT
+string-literal-body string-literal-type-specifier: one of u8 u U L
+string-literal-body: " s-char-sequenceOPT " R raw-string</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 14</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3 [basic]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">"In general it is necessary to determine
+whether a name denotes one of these entities before parsing the
+program that contains it."</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Would prefer</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">"... before continuing to parse the
+program that contains it."</font>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">or even</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">"... to complete the parsing of the
+program that contains it."</font>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">as some names denotes entities declared after
+the first occurrence.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 15</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3 [basic]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">/operator-function-id/,
+/conversion-function-id/, /template-id/ are followed by a space and
+then a "s" while usually such production names aren't followed by a
+space when put in plural (see /identifier/).</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">20</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Chapter 3 ("Basic concepts") provides common
+definitions used in the rest of the document. Now that we have
+concepts as a primary feature, the title of this chapter can be
+confusing as it does not refer to the language feature but to
+definitions used in the document.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change the
+title to "Basic definitions".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">21</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Concepts is
+now the name of a specific feature of the language, the term now
+risks confusion and ambiguity when used in the more general
+sense.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Rename the
+chapter Basic ???. THe note in p2 specifically needs similar
+rewording</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">22</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">References are frequently considered variables,
+but this definition only applies to objects.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "or
+reference" after both uses of "object"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">23</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">alias-declarations are not definitions and should
+be added to the list</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+alias-declaration after typedef declaration.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">24</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The current words suggest the declaration of a
+static integral constant data member of a class cannot be a
+definition. Trying to fix this wording in-place will be verbose and
+risk raising more confusion than it solves, so suggest a footnote
+to call out the special case</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+footnote attached to the static data membmer rule: *static data
+member delcarations of intergral type may also be definitions if a
+constant integral expression is provided for an initializer.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">25</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Example is misleading as implicitly defined
+default constructor uses default initialization, not value
+initialization, for non-static data members. In the case of
+std::String this makes no difference, but it makes a big difference
+for fundamental types and pointers.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the :
+s() from the illustrated default constructor: struct C {
+std::string s; C() { } C(const C& x): s(x.s) { } C&
+operator=(const C& x) { s = x.s; return *this; } ~C() { }
+};</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">26</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">THe one definition rule should cover references,
+and unless the term 'variable' is extended to cover references the
+list in this paragraph is incomplete.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either
+include references in the definition of 'variable' (see earlier
+comment) or add reference to the list in this paragraph.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">27</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A class type must be complete when catching
+exceptions, even by reference or pointer. See 15.3.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "when
+used in an exception-handler (15.3)" to the list.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 16</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.3 [Declarative regions
+and scopes.]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The scope of function parameters is
+defined, but what is the scope of template parameters?</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">28</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">3.3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Class templates are not classes, so we should
+include this case.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">ammend
+"class" to "class or class template"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK</font>
+<p><font size="2" style="font-size: 9pt">29</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">3.3.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">operators and
+conversion functions do not have names, yet are susceptible to
+'name hiding' within a class - indeed we rely on this for the
+implicitly declared copy-assignment operator.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add the additional phrase "The declaration of an
+operator or conversion function in a derived class (Clause 10)
+hides the declaration of an operator or conversion function of a
+base class of the same operator or type;"</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 17</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.5 [Program and
+linkage]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">This section does not specify whether
+concept names have linkage.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Do they or not? If concept names do not
+have linkage, then a note is appropriate, and that would be a bit
+surprising and curious. What is the rationale?</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+30</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+paragraph implies concepts have no linkage (do they need it?) and
+that the entities behind names without linkage cannot be used in
+other scopes. This maybe a bigger problem for concept maps?</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a note to
+clarify that concepts don't need linkage.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+31</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">What is the
+linkage of names declared inside a namespace, in turn declared
+inside an anonymous namespace? It is not clear why such a namespace
+has no linkage, and there is no language suggesting its memmbers
+should lose linkage with it, which we assume is the intended
+consequence.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify rules
+for namespaces inside nested namespaces, or remove the
+restriction.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 23</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3.5</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">6</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Bad paragraph break.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 18</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.5 [basic.link]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The paragraph number is not aligned with the
+text.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 19</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.6 [Start and
+termination]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">This section completely ignores the real
+world and practical case of dynamically linked or loaded libraries.
+In current computing environments, they are ubiquitous and they
+cannot be ignored in</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">practical C++ programs. The
+Standard</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">should address this aspect.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+32</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">3.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Do we really
+want to allow: constexpr int main() { return 0; } as a valid
+program?</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add constexpr to the list of ill-formed things to
+annotate main</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 24</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3.6.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">std::quick_exit is not referenced.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Reference std::quick_exit as well as std::exit in
+saying that automatic objects are not destroyed. It should</font>
+<strong><font size="2" style="font-size: 9pt">not</font></strong>
+<font size="2" style="font-size: 9pt">do so in saying that calling
+std::quick_exit is undefined from within destructors for static or
+thread duration objects.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 25</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.6.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 2 last sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The parenthesized phrase,
+introduced via “i.e.” is in the nature of an
+example.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change “i.e.”
+to “e.g.”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 6</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3.7.4.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Lack of a comma right after
+“(3.7.2)” in the sentence while there are commas after
+any other recitations like “(3.7.1)”. It is just a
+unification matter.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">[ Note: in particular, a global
+allocation function is not called to allocate storage for objects
+with static storage duration (3.7.1), for objects or references
+with thread storage duration (3.7.2) for objects of type
+std::type_info (5.2.8), or for the copy of an object thrown by a
+throw expression (15.1). -end note ]</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">[ Note: in particular, a global
+allocation function is not called to allocate storage for objects
+with static storage duration (3.7.1), for objects or references
+with thread storage duration (3.7.2), for objects of type
+std::type_info (5.2.8), or for the copy of an object thrown by a
+throw expression (15.1). -end note ]</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Correct typo.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.7.4.3</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-3 It is unclear whether
+the following code has well-defined behavior; none of the bullets
+in the second paragraph seem to apply.</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">int& i = *new
+int(5);</font>
+<p lang="en-GB" align="left"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">delete &i;</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Clarify that &i is
+considered a safely-derived pointer value.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 26</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3.8</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1 and 5</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Use of object fields during destruction is
+excessively and erroneously constrained.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">See the attached document "Issues with
+the C++ Standard" under Chapter 3 "Use of objects, especially from
+other threads, during destruction".</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 27</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.9</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 9 first
+sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There is a
+superfluous/extraneous “and”.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Delete “and”
+from the phrase “and std::nullptr_t”.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 20</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.9 [Types]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The phrase 'effective type' is defined and
+used in a way that is incompatible with C99. Such a deliberate
+incompatible choice of terminology is both unfortunate and
+confusing, given past practice of the committee to maintain greater
+compatibility with C99. We strongly suggest that the phrase
+'effective type' not be used in such an incompatible way.</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 7</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3.9.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">3</font><sup><font size="2" style=
+"font-size: 9pt">rd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 13</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">over-aligned type was
+added as new notion. So it is preferable to add the link after
+that.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add (3.11) after over-aligned type as
+the link.</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style="font-size: 9pt">[ Note:
+pointers to over-aligned types</font><font size="2" style=
+"font-size: 9pt" color="#008000">(3.11)</font> <font size="2"
+style="font-size: 9pt">have no special representation, but their
+range of valid values is restricted by the extended alignment
+requirement. This International Standard specifies only two ways of
+obtaining such a pointer: taking the address of a valid object with
+an over-aligned type</font><font size="2" style="font-size: 9pt"
+color="#008000">(3.11)</font><font size="2" style=
+"font-size: 9pt">, and using one of the runtime pointer alignment
+functions. An implementation may provide other means of obtaining a
+valid pointer value for an over-aligned type</font><font size="2"
+style="font-size: 9pt" color="#008000">(3.11)</font><font size="2"
+style="font-size: 9pt">.—end note ]</font></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 28</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3.9.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 5 first
+sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">The closing braces of the
+first two sets are preceded by extraneous space.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Delete the extra
+spaces.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE 4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">4.2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-4 The deprecated
+conversion from string literals to pointer to non-const character
+types should be limited to those conversions and types of string
+literals that were already present in ISO/IEC 14882:2003, or the
+deprecated conversions should be removed entirely.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Consider applying the
+proposed resolution presented in core issue 693 in WG21 document
+N2714 “C++ Standard Core Language Active Issues, Revision
+58“, available at
+http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2714.html
+; or remove only the conversions to "pointer to char16_t", "pointer
+to char32_t" in 4.2 paragraph 2 and 15.1 paragraph 3.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">CH 1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">4.9 and 5.2.9</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">With respect to the target
+type, pointer to members should behave like normal pointers (least
+surprise principle).</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">The standard should allow
+implicit conversions from ``pointer to member of <tt><font face=
+"Arial, sans-serif">T</font></tt> of type <i>cv</i> <tt><font face=
+"Arial, sans-serif">D</font></tt>'' to ``pointer to member of
+<tt><font face="Arial, sans-serif">T</font></tt> of type <i>cv</i>
+B'', where D is of class type and B is a public base of D, It
+should allow explicit conversion the other way around.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">4.11, 5.3.1, 5.5</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-5 Ref-qualification has
+not been integrated with pointer-to-members.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Review implicit conversions
+(4.11), forming pointer-to-members (5.3.1), and dereferencing
+pointer-to-members (5.5) for type-safety concerns in the presence
+of ref-qualifiers on the member.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+33</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">4.13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">We have: "No
+two signed integer types shall have the same rank ..." "the rank of
+char shall equal the rank of signed char" Can we therefore deduce
+that char may not be signed?</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace the first sentence with "No two signed
+integer types shall have the same rank, even if they have the same
+representation, except that signed char shall have the same rank as
+char even if char is signed (3.9.1/1)."</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+34</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">4.13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">6th bullet, "the rank of char" - first letter
+should be capitalised for consistency with the other bullets</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The rank of
+char</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+36</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Primary expressions are literals, names, names
+qualified by the scope resolution operator ::, and lambda
+expressions. The immediately following grammar flatly contradicts
+this - this and (e) are also lambda expressions.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Delete this
+paragraph.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+37</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Member function templates are not member
+functions, so should also be listed in the 3rd bullet</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add member
+function templates to the 3rd bullet</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+38</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">this might be
+useful in a few more places than it is permitted, specifically in
+decltype expressions within a class. Two examples that would be
+ill-formed at class scope without changes: typedef decltype( *this
+) this_type; decltype( [this]{ return this->memfun(); } )
+my_lambda;</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">... words to
+follow ...</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 8</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">7</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Syntax rules</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">In the current syntax definition, a
+scope operator(::) cannot be applied to decltype, but it should be.
+It would be useful in the case to obtain member type(nested-type)
+from an instance as follows:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">vector<int> v;</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">decltype(v)::value_type i = 0; // int i =
+0;</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add “decltype ( expression ) ::
+“ to nested-name-specifier syntax like below.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">nested-name-specifier:</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">type-name ::</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">namespace-name ::</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">nested-name-specifier identifier ::</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">nested-name-specifier templateopt
+simple-template-id ::</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">nested-name-specifieropt concept-id ::</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.13in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">decltype ( expression ) ::</font>
+<p lang="en-GB" align="left" style="text-indent: 0.13in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 9</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">It would be preferable that
+“&&” could be specified in a lambda expression
+to declare move capture.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Here is an example from N2709.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<typename F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::unique_future<typename
+std::result_of<F()>::type> spawn_task(F f){</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename
+std::result_of<F()>::type result_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct local_task {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::promise<result_type>
+promise;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">F func;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">local_task(local_task const&
+other)=delete;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">local_task(F func_):</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">func(func_)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">local_task(local_task&&
+other):</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">promise(std::move(other.promise)),</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">f(std::move(other.f))</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void operator() {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">try</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">promise.set_value(f());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">catch(...)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">promise.set_exception(std::current_exception());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">local_task task(std::move(f));</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::unique_future<result_type>
+res(task.promise.get_future());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::thread(std::move(task));</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">return res;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">This can be rewritten simply as follows
+if move capture can be used in a lambda expression.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<typename F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::unique_future<typename
+std::result_of<F()>::type> spawn_task(F f){</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename
+std::result_of<F()>::type result_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::promise<result_type>
+promise;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::unique_future<result_type>
+res(promise.get_future());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::thread([&&promise,
+&&f]() {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">try</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">promise.set_value(f());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">catch(...)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">promise.set_exception(std::current_exception());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">});</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">return res;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add move capture in a lambda
+expression.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 10</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">In the current syntax definition, a
+returned type of a function object cannot be obtained by using
+result_of from an unnamed function object generated by a lambda
+expression because it doesn’t have result type.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void foo(F f)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef std::result_of<F()>::type
+result; // error</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">foo([]{});</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-left: 0in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">If “Callable” or
+“Predicate” concept is specified, a returned type can
+be obtained from a function object without result_type. But it is
+preferable to be able to obtain it with template.</font>
+<p lang="en-GB" align="left" style="margin-left: 0in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add result_type to the syntax of an
+unnamed function object generated by a lambda expression.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 29</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The standard does not state whether or
+not direct recursion of lambdas is possible.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 30</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style="font-size: 9pt"
+color="#000000">The standard does not clarify the meaning of</font>
+<code><font face="Arial, sans-serif" color="#000000"><font size="2"
+style="font-size: 9pt">this</font></font></code> <font size="2"
+style="font-size: 9pt" color="#000000">in lambdas. Does it mean
+this lambda, or this class within which the lambda is
+nested?</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 31</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style="font-size: 9pt"
+color="#000000">The current wording does not specify how context
+capturing and name resolution</font> <font size="2" style=
+"font-size: 9pt">take place when the inner lambda refers to the
+outer lambda's locals variables and parameters.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+45</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">para
+2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Lambda is a
+language feature with an apparent dependency on <functional>.
+This increases dependency of language on library, and is
+inconsistent with the definition of freestanding in
+17.6.2.4.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Change the text "a closure object behaves as a
+function object" to "a closure object is a built-in object which
+behaves as a function object"; and after "context.", insert " A
+closure object may be used without any need for
+<functional>." This makes clear what may already be implied,
+namely that lambdas can be used in freestanding implementations and
+don't increase dependency of language on library. (Marked as
+technical comment anyway because this clarity is technically
+important).</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">US 32</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The final italic "this" in the paragraph
+should be a teletype "this".</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+39</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+paragraph lists all the special member functions for the class
+representing a lambda. But it omits the destructor, which is
+awkward.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "F has an
+implicitly-declared destructor".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+40</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">If one or more names in the effective capture set
+are preceded by &, the effect of invoking a closure object or a
+copy after the innermost block scope of the context of the lambda
+expression has been exited is undefined. That is too restrictive.
+The behaviour should be undefined iff the lifetime of any of the
+variables referenced has ended. This should be safe and legal;
+currently it has undefined behaviour: int i;
+reference_closure<void ()> f; if (blah) { f = [&i]() { };
+} if (f) f();</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">If one or
+more names in the effective capture set are preceded by &, the
+effect of invoking a closure object or a copy after the lifetime of
+any of the variables referenced has ended is undefined.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+41</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">For argument
+dependant lookup (3.4.2) the associated namespaces for a class
+include its bases, and associated namespaces of its bases.
+Requiring the result of a lambda expression *to dervide from*
+std::reference_closure means that ADL will look in namespace std
+when the lambda capture is entirely by reference, which might have
+surprising results. Also, relying on the idea of implicitly slicing
+objects is uncomfortable.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+inheritance with implicit conversion.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+42</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">A lambda with
+an empty capture list has identical semantics to a regular function
+type. By requiring this mapping we get an efficient lambda type
+with a known API that is also compatible with existing operating
+system and C library functions.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a new paragraph: "A lambda expression with an
+empty capture set shall be convertible to pointer to function type
+R(P), where R is the return type and P is the parameter-type-list
+of the lambda expression." Additionally it might be good to (a)
+allow conversion to function reference (b) allow extern "C"
+function pointer types</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+43</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The note spells out the intent that objects from
+lambda-expressions with an effective capture list of references
+should be implemented as a pair of pointers. However, nothing in
+the rest of 5.1.1 lifts the requirement of to declare a reference
+member for each captured name, and a non-normative note is not
+enough to relax that.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">... provvide
+exceptions in the right places ...</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+44</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is a strong similarity between a [&]{}
+lambda capturing a stack frame, and a [this]{} lambda binding a
+member function to a class instance. The reference_closure
+requirement should be extended to the second case, although we need
+some syntax to create such an object that is distinct from the
+existing pointer-to-member syntax. This would be a cleaner
+alternative to the new std::mem_fn library component.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Extend
+reference_closure requirement to cover [this] lambdas. Consider a
+simple syntax for creating such bound expressions.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+46</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">para
+12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+requirement that a lambda meeting appropriate conditions be an
+object derived from reference_closure makes lambda the language
+feature dependent on <functional>, which increases dependency
+of the language on the library and bloats the definition of
+freestanding C++.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace text "is publicly derived from" with
+"shall be implemented in a manner indistinguishable from". This
+places an ABI constraint on reference closures such that compiler
+and library implementer have to do compatible things. But it cuts
+the dependency of lambda syntax on <functional>.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-6</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.1.1, 20.7.18</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-6 Some uses of lambda
+expressions refer to specializations of the unconstrained class
+template <font face=
+"Arial, sans-serif">std::reference_closure</font> (5.1.1). If the
+lambda expression appears in a constrained context and the return
+type or a parameter type for the lambda depend on a template
+parameter (see 14.10), such a use is ill-formed.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">In 20.7.18, for the class
+template <font face=
+"Arial, sans-serif">std::reference_closure</font>, require
+<font face="Arial, sans-serif">Returnable</font> for <font face=
+"Arial, sans-serif">R</font> and <font face=
+"Arial, sans-serif">VariableType</font> for each of the <font face=
+"Arial, sans-serif">ArgTypes</font>.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.1.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p10</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-7 The note at the end
+of paragraph 10 appears to be garbled.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Remove "or references" in
+the note.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-8</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.1.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p10</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-8 The construction of
+the function call operator signature is missing specifications for
+the ref-qualifier and the attribute-specifier.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add bullets that say that
+the ref-qualifier and the attribute-specifier are absent.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 33</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.1.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There is no definition of
+“move constructor” or “move
+operation”</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Since this is the first place
+the terms are used, a definition should either be added here, or a
+cross reference to one.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-9</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.1.1</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-9 There is not a single
+example of a lambda-expression in the standard. See also core issue
+720 in WG21 document N2791 "C++ Standard Core Language Active
+Issues, Revision 59", available at
+http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2791.html
+.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add a few well-chosen
+examples.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+52</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+paragraph seens out of place, assignment expressions are covered in
+5.17</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move p3 to
+subsection 5.17</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+53</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+definition in p1 makes no allowance for overloaded operator[] that
+treats the expression as a simple function call, and does not
+support the interchangability of arguments. Howver p2 relies on
+this definition when describing the use of brace-init-lists inside
+[].</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Insert a new
+p2 describing the changed semantics for overloaded operator[]. This
+should be a note to avoid introducing normative text that could
+potentially conflict with the later definiton of these
+semantics.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+59</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">When there is
+no parameter for a given argument, the argument is passed in such a
+way that the receiving function can obtain the value of the
+argument by invoking va_arg. That shouldn't apply to parameter
+packs. template <class ... Types> void f(Types ... pack);
+f(1, 2, 3);</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify that
+this sentence only applies where the ellipsis is used.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+60</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">In the
+remainder of 5.2.5, cq represents either const or the absence of
+const vq represents either volatile or the absence of
+volatile.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "and"
+before vq</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+61</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">p1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Together with
+footnote 60 there may be confusion that the postfix expression is
+always evaluated - even when part of an unevaluated operand. We
+believe the standard does not require this, and a comment in the
+existing note would be a useful clarification.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify in
+footnote 60 that this will not happen if the whole expression is an
+unevaluated operand.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+62</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">In the final
+bullet, what does 'not an lvalue' mean? Does it imply rvalue, or
+are there other possible meanings? Should clauses that trigger on
+rvalues pick up on this?</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace 'not
+an lvalue' with 'is an rvalue'.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-10</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.2.5</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-10 If E1.E2 is
+referring to a non-static member function, the potential
+ref-qualification on E2 should be taken into account.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Adjust the presentation of
+the types involved as appropriate.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+63</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Paragraph 2
+is missing its number.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+one.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+64</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">A new name R
+is introduced for use in paragraphs 3 and 4. But R is the same as
+T.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace R with T and replace "the required result
+type (which, for convenience, will be called R in this
+description)" with "T".</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+65</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">In the first two bullets we have "the result is a
+pointer (an lvalue referring) to". But para 2 makes clear that a
+dynamic_cast of an rvalue references produces a rvalue. (Can an
+lvalue refer to anything anyway?)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace "an
+lvalue referring to" with "reference", twice.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+66</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">typeid may return "an implementation-defined class
+derived from std :: type_info". The derivation must be
+public.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">an
+implementation-defined class publicly derived from std ::
+type_info</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+67</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1, 2,
+3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Paragraph 1
+specifies when the result of static_cast is an lvalue; repeating it
+is unnecessary.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">In para 2, delete "It is an lvalue if the type
+cast to is an lvalue reference; otherwise, it is an rvalue." and
+"The result is an rvalue.". In para 3, delete "The result is an
+lvalue if T is an lvalue reference type (8.3.2), and an rvalue
+otherwise."</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+54</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3,
+6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Para 3: "The
+mapping performed by reinterpret_cast is implementation-defined.".
+Para 6: "... the result of such a pointer conversion is
+unspecified." Which is it?</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">In para 6, replace unspecified with
+implementation-defined. Alternatively, delete paragraph 3, since
+individual cases are labelled appropriately.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+55</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">dynamic_cast
+and reinterpret_cast crossreference 5.2.11 without creating an
+extra note. The second half of the note is unrelated to the
+crossrefernce, and would serve as well in normative text.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Strike the note about definition of casting away
+constness, preserve the cross-reference. The second sentance on
+reintrepret_cast to its own type should move out of the note into
+the normative text.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+56</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The notion of safely derived pointers means this
+conversion may not be as safe in the revised standard as the
+original. It would be good to call attention to the changed
+semantics with a note.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add: [Note:
+the result of such a conversion will not be a safely-derived
+pointer value (3.7.4.3) -- end note]</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+57</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Conditionally
+supported behaviour gives a wide range or permission, so clarify
+relationship between safely-derived object pointers and function
+pointers in a note.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add: [Note:
+In such cases, the implementation shall also define whether a
+safely-derived object pointer cast to a function pointer can be
+safely cast back -- end note]</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+58</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.2.11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Casting from an lvalue of type T1 to an lvalue of
+type T2 using a reference cast casts away constness if a cast from
+an rvalue of type “pointer to T1” to the type
+“pointer to T2” casts away constness. That doesn't
+cover rvalue references.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+lvalue with "lvalue or rvalue" twice.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">US 34</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">The list of unary operator should be in teletype
+font.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+68</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2-9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">All the unary
+operands other than * return rvalues - but this is not
+stated.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a paragraph 1a "The following unary operators
+all produce results that are rvalues."</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+69</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">If we cannot bind references/take address of
+functions in concept_maps, does that mean we cannot use generic
+bind in constrained templates? Launch threads with expressions
+found via concept map lookup? Hit problems creating std::function
+objects? Does the problem only occur if we use qualified lookup to
+explicitly name a concept map? Does it only kick in if we rely on
+the implicit function implementation provided by a concept_map, so
+some types will work and others won't for the same
+algorithm?!</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">... unknown
+...</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+70</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The sizeof operator shall not be applied to ... an
+enumeration type before all its enumerators have been declared We
+should allow enum E : int; sizeof(E).</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change "an
+enumeration type" to "an enumeration type whose underlying type is
+not fixed".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+71</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The type of
+an allocated object wih the type specifier auto is determined by
+the rules of copy initialization, but the initialization applied
+will be direct initialization. This would affect classes which
+declare their copy constructor explicit, for instance. For
+consistency, use the same form of initiailization for the deduction
+as the new expression.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace T x =
+e; with T x(e);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+72</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The library headers have been carefully structured
+to limit the dependencies between core language and specific
+headers. The exception thrown should be catchable by a handler for
+a type lised in <exception> header in cluase 18. This might
+be accomplished by moving length_error into the <exception>
+header, but its dependency on logic_error with its std::string
+constructors suggest this is not a good idea. Prefer to pick an
+existing exception instead.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Throw
+std::bad_alloc instead of std::length_error.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+73</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A class type with conversion operator can only be
+used if the conversion type is constexpr and the class is a literal
+type. Adding the single word 'literal' before class type will
+clarify this.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add 'literal'
+before 'class type'</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+74</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">operators, like constructors and destructors, do
+not have names. However, in certain circumstances they can be
+treated as if they had a name, but usually the stanadard is very
+clear not to actually describe their name as a distinct
+property.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change "the
+allocation function’s name is operator new" to "the
+allocation function is named operator new" and similarly for
+operator delete.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+35</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Missing
+period in middle of paragraph between "in the scope of T" and "If
+this lookup fails"</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a period between "in the scope of T" and "If
+this lookup fails"</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+75</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A paragraph strarting with [Note... is easily
+skipped when reading, missing the normative text at the end.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Swap order of
+the note and normative text.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 21</font>
+<td>
+<p><font size="2" style="font-size: 9pt">5.3.6 [Alignof</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Should not the type of alignof-expression be of
+type std::max_align_t?</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 35</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">5.8</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2 and 3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">There is curious spacing in the
+expressions "E1 <<E2" and "E1 >>E2". This is a
+formatting change since previous versions of the Standard.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+47</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5.14 /
+5.15</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Why are the descriptions of order of evaluation of
+expressions and side effects different between && and ||
+operators. The interaction with the memory model should be
+identical, so identical words should be used to avoid accidential
+inconsistencies in interpretation.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Pick one form
+of wording as 'the best' and apply it in both places.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+48</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.18</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The defining feature of the comma operator is the
+guaranteed sequencing of two expressions. This guarantee is lost
+when presented with an overloaded operator, and this change is
+subtle enough to call attention to it.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add: [Note:
+There are no guarantees on the order of value computation for an
+overloaded comma operator -- end note]</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+49</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.19</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Is an
+implementation permitted to reject this? constexpr int f() { return
+f(); } int a[f()]; AFAICT it is well-formed; f() seems to satisfy
+all the rules to make it a constant expression. I would hate
+compilation to become a potentially non-terminating
+experience.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add an escape clause to allow the implementation
+to reject excessively deep nesting of constexpr function
+evaluations. (This can possibly be a note, since it is arguable
+that this point is handled by the general rule on resource limits
+in 1.4/2. A sufficiently smart compiler could use tail recursion
+above, meaning that it would never run out of memory given this
+program though.)</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+50</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.19</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The following
+should be valid: enum E { foo = 4}; const E c = foo; int a[c]; But
+currently it is not - c is not an lvalue of effective integral type
+(4th bullet). (See also 7.1.6.1/2)</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Change "effective integral type" to "effective
+integral or enumeration type" in the 4th bullet, 1st
+sub-bullet.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+51</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">5.19</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">typeid expressions can never be constant, whether
+or not the operand is a polymorphic class type. The result of the
+expression is a reference, and the typeinfo class that the
+reference refers to is polymorphic, with a virtual destructor - it
+can never be a literal type.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+words "whose operand is of a polymorphic class type" on the bullet
+for typeid expressions.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+76</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Do we really
+need two different terms that say the same thing?</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Pick either 'block' or 'compound statement' as the
+preferred term and use it consistently throughout the
+standard.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 22</font>
+<td>
+<p><font size="2" style="font-size: 9pt">6.4.2 [The switch
+statement]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The constant-expression in</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">case constant-expression</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">should be allowed to be of any constant
+expression of literal type for which a constexpr comparison
+operator (operator< and operator==) is in scope. Now that
+constant expressions of other integral types are evaluated at
+compile time, the restriction for case-labels is at best
+artificial.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+77</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The terms i/o operation, synchronize operation and
+atomic operation have very specific meanings within the standard.
+The paragraph would be much easier to understand with the terms
+crossreferenced.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Profide a
+cross-reference for the terms: i/o operation, synchronize operation
+and atomic operation</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 11</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">6.5.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 5</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There is no _RangeT type
+in the equivalent code to “range-base for” statement.
+It existed in N2049.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add a typedef for _RangeT in the example
+as follows:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+    <font size="2" style="font-size: 9pt"><u>typedef
+decltype( expression ) _RangeT;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+    <font size="2" style="font-size: 9pt">auto
+&& __range = ( expression );</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+    <font size="2" style="font-size: 9pt">for ( auto
+__begin = std::Range<_RangeT>:: begin(__range),</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+           
+<font size="2" style="font-size: 9pt">__end =
+std::Range<_RangeT>:: end(__range);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+          <font size=
+"2" style="font-size: 9pt">__begin != __end;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+          <font size=
+"2" style="font-size: 9pt">++__begin )</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+    <font size="2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+        <font size="2" style=
+"font-size: 9pt">for-range-declaration = *__begin;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+        <font size="2" style=
+"font-size: 9pt">statement</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+    <font size="2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+78</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">6.5.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Including the
+header <iterator_concepts> is far too unwieldy to enable an
+important and (expected to be) frequently used syntax.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Merge <iterator_concepts> into
+<concepts> and change 6.5.4p2 to refer to <concepts>,
+or make the Range concept fundamental along with the other support
+concepts in 14.9.4 and strike any reference to including a
+header.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+79</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">6.5.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The definition of for (for-range-declaration :
+expression) statement is expanded in terms which require a Range
+concept, and the program is ill-formed if <iterator_concepts>
+isn't included. For users, iterating through old-fashioned arrays,
+this is a sledge-hammer to crack a nut and compares poorly with
+other languages. It's also not possible to implement this without
+adversely impacting the freestanding definition in 17.6.2.4.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">When
+expression is an array a of length N whose length is known at
+compile time, expand range-for as 'for (... p=a, p!=a+N, p++) ...'
+without requiring the Range concept or <iterator_concepts>.
+Also, when expression is an initializer_list, expand range-for
+similarly without requiring <iterator_concepts>.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-11</font>
+<td>
+<p><font size="2" style="font-size: 9pt">6.9</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-11 A sentence in paragraph
+1 reads: "Outside of a constrained context, the late-checked block
+has no effect." This, at face value, specifies that the
+<em>compound-statement</em> of such a late-checked block is never
+executed, which appears to be unintended.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">State that such a
+late-checked block has the same meaning as if the <font face=
+"Arial, sans-serif">late_check</font> keyword were absent.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+80</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Many of the sections and major subsections open
+with a sentence summarising the content. I'm not sure this is
+necessary; this isn't a tutorial. The problem with these summaries
+is that because they omit much of the detail, they tend to be
+inaccurate. This may not matter, but I feel the document would be
+improved by omitting them. There's a prime example here:
+"Declarations specify how names are to be interpreted." Not true
+for static_assert, an asm declaration nor an anonymous bit
+field.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+first sentence.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+81</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">String literal concatenation happens in phase 6,
+before parsing, so it is legal and useful to use it for the string
+literal in a static_assert. It would be useful to add a note
+mentioning this.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a note:
+Multiple adjacent string literals may be used instead of a single
+/string-literal/; see [lex.phases].</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+82</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Paragraph 2 talks about declarations that can have
+nested declarations within them. It doesn't mention scoped
+enumerations - but according to 7.2/11, "Each scoped enumerator is
+declared in the scope of the enumeration."</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "scoped
+enumeration" to the list in the second sentence.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+83</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The longest sequence of decl-specifiers that could
+possibly be a type name is taken as the decl-specifier-seq of a
+declaration. But many sequences of decl-specifiers cannot possibly
+be a type name - eg the sequence "friend int", or "typedef
+int".</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Not sure. I
+understand the rule, just not how to say it.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+84</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The grammar includes alignment-specifier as a
+production for decl-specifier, but there is no production for
+alignment-specifier. I suspect this is a holdover from before
+alignment was handled as an attribute.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Delete the
+production (including the duplicate in A6)</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">[dcl.spec.auto]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">While it’s considered
+too late for this standard revision, consider loosening the
+restrictions for auto specifier and making it more a mirror of a
+deduced template function parameter.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">See
+restricted-auto.ppt</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+85</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">... the init-declarator-list of the declaration
+shall not be empty (except for global anonymous unions, which shall
+be declared static). Global here means "declared at namespace
+scope". (cf 9.5/3 "Anonymous unions declared in a named namespace
+or in the global namespace shall be declared static.").</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+"global" with "namespace scope".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+86</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2,3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The register keyword serves very little function,
+offering no more than a hint that a note says is typically ignored.
+It should be deprecated in this version of the standard, freeing
+the reserved name up for use in a future standard, much like auto
+has been re-used this time around for being similarly
+useless.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Deprecate
+current usage of the register keyword.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+87</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1, 4,
+5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Why require two keywords, where one on its own
+becomes ill-formed? thread_local should imply 'static' in this
+case, and the combination of keywords should be banned rather than
+required. This would also eliminate the one of two exceptions
+documented in 7.1.1p1.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Drop
+requirement to combine static keyword with thread_local at
+block-scope inside a function definition.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 36</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.1.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The permission to use thread_local
+static data members is missing.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Add the static members as a permitted use.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 23</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.1.5 [constexpr]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">'constexpr' functions should be allowed to
+take const reference parameters, as long as their uses are in a
+context where a constant expression may be required. For example,
+the following should be allowed</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<typename T, int N></font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">int size(const T(&)[N]) { return N;
+}</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">int a[] = { 41,42,43,44 };</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">enum { v = size(a) };</font>
+<p style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 12</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.1.5</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">It should be allowed to
+define constexpr recursively.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">There is an explanation in N2235,
+Generalized Constant Expressions—Revision 5, as
+follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.39in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">We (still) prohibit recursion in all its form in
+constant expressions. That is not strictly necessary because an
+implementation limit on recursion depth in constant expression
+evaluation would save us from the possibility of the compiler
+recursing forever. However, until we see a convincing use case for
+recursion, we don’t propose to allow it.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Then, here are the use cases where
+allowing recursion for constexpr is very useful.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Range of problem to be handled with
+constexpr would become extended. For example, user defined type
+(e.g. Complex type) could be placed in ROM area. But with current
+specification, a function defined with constexpr cannot be called
+recursively. As a side effect is not allowed in compile-time, it
+cannot be implemented to repeat anything without recursion.
+Although it could be implemented without recursion like func0,
+func1, func2 in an example below, it is not elegant
+solution.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">constexpr double func0(double x) { /*
+... */}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">constexpr double func1(double x) { /*
+call for func0 */ }</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">constexpr double func2(double x) { /*
+call for func1 */ }</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">/* ... */</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">- Compile-time and runtime</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">As constexpr can be also evaluated both
+in compile-time and runtime, we need to discuss about both
+cases.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Runtime evaluation is just to execute
+it. If you eliminate constexpr keyword, it is executable as of now.
+Any modern compiler may optimize tail recursion easily.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Compile-time evaluation is the same
+thing as template recursion. It is necessary to support floating
+point operation, but it is already possible to calculate it in
+compile-time, so it’s ok.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">- Sample</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Here is an example to calculate a square
+root using constexpr recursively.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">/*constexpr*/ double SqrtHelper(double
+x, double a, int n)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">return n == 0 ? a : SqrtHelper(x, (x / a
++ a) / 2.0, n - 1);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">/*constexpr*/ double Sqrt(double
+x)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">return SqrtHelper(x, x, 20);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">/*constexpr*/ double root2 = Sqrt(2.0); //
+1.41421...</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Allow constexpr recursion.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 37</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.1.6.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">There is a "Note: 3.9.3 describes how
+cv-qualifiers affect object and function types." So far as I can
+see, 3.9.3 CV-qualifiers only describes cv-qualifiers for objects,
+cv-qualifiers for (member) functions being described in 8.3.5
+Functions.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+89</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The two normative sentences in this paragraph
+appear to duplicate text elsewhere - but they aren't exact
+duplicates, which introduces uncertainty. 1. "An object declared in
+namespace scope with a const-qualified type has internal linkage
+unless it is explicitly declared extern or unless it was previously
+declared to have external linkage.". This nearly repeats 7.1.1/7:
+"Objects declared const and not explicitly declared extern have
+internal linkage." The former seems to allow more wiggle room - can
+an object be "previously declared to have external linkage" without
+having been "explicitly declared extern"? 2. "A variable of
+non-volatile const-qualified integral or enumeration type
+initialized by an integral constant expression can be used in
+integral constant expressions (5.19)." This nearly duplicates
+5.19/2, bullet 4, 1st sub-bullet - "[... an integaral constant
+expression can use] an lvalue of effective integral type that
+refers to a non-volatile const variable or static data member
+initialized with constant expressions". The latter does not allow
+for lvalues of enumeration type (neither scoped not unscoped
+enumerations are integral types - 3.9.1/7, and note 44). This seems
+to be a flaw in 5.19/2.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Make the
+normative text in this section into one or more notes, with cross
+references, and correct the referenced text if necessary.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+90</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">para 1 and
+table 9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The grammar in paragraph one makes
+"nested-name-specifier template simple-template-id" a
+simple-type-specifier, but unlike all the others it is omitted from
+table 9.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a row to
+table 9 mentioning simple-template-id and punting to clause 14 (cf
+decltype(expression)).</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+91</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">5.1/5 says "[A] parenthesized expression can be
+used in exactly the same contexts as those where the enclosed
+expression can be used, and with the same meaning, except as
+otherwise indicated." When the first bullet point of this
+paragraph, describing the type denoted by decltype(e), says "if e
+is an id-expression ... decltype(e) is the type of the entity named
+by e", 5.1/5 is not excluded, which would imply that decltype((e))
+was also the type of e. But the intention appears that it should be
+caught by the third bullet and treated as an lvalue expression, so
+decltype((e)) should be a reference to the type of e. Conversely,
+the second bullet point says "(parentheses around e are ignored)",
+which is redundant because of 5.1/5.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Insert
+"unparenthised" in the first bullet point - "if e is an
+*unparenthised* id-expression ...". In the second bullet point,
+move "(parentheses around e are ignored)" into a note.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+92</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The note correctly indicates that, if T is a
+template type parameter, then "friend class T;" is ill-formed. It
+might be worth pointing out at the same time that the alternative
+"friend T;" is now allowed - see 11.4/3.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either strike
+the note or add reference to 11.4/3 and/or mention of "friend
+T;".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+93</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Grammar
+before para 1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">In the third production, "enum ::opt
+nested-name-specifieropt identifier", enum should not be in
+italics; its referring to the enum keyword.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change to
+keyword font</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+94</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The auto
+type-specifier signifies that the type of an object being declared
+shall be deduced from its initializer or specified explicitly at
+the end of a function declarator. A function declarator does not
+declare an object.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The auto type-specifier signifies that the type of
+an object being declared shall be deduced from its initializer or
+that the return type of a function is specified explicitly at the
+end of a function declarator.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+95</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.1.6.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">(See also c++std-core-13583) This paragraph allows
+auto "in the type-specifier-seq in a new-type-id (5.3.4)" (and
+nowhere else not listed). Specifically, it isn't allowed in a
+type-id in a new-expression. That allows "new auto (42)", but not
+"new (auto)(42)". However, 5.3.4/2 suggests the latter should be
+allowed "If the auto type-specifier appears in the
+type-specifier-seq of a new-type-id or type-id of a new-expression
+...". The inconsistency should be resolved, ideally in favour of
+allowing both forms.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change "in a
+new-type-id" to "in a new-type-id or type-id in a
+new-expression".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 24</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.1.6.4 [auto
+specifier]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Now that 'auto' is finally used in its
+most obvious sense to state `deduce the type of this variable from
+initializer', it should also be allowed in template parameter
+declarations, as in</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<auto n> struct X { /*
+… */ };</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">X<903> x;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">X<&Widget::callback> y;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">instead of the current, often verbose and
+cumbersome</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style=
+"font-size: 10pt" face="Consolas, monospace"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif"><span lang=
+"fr-FR">template<typename T, T n> struct X { /*
+…</span></font> <font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">*/ };</font></font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">X<int,903> x;</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">X<void
+(Widget::*)(),&Widget::callback> y;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">We understand that 'auto' is used in
+14.1/18 in a different way (for constrained template), but that
+usable appears very strange syntax, unnatural and does not fit well
+with the usage in this section.</font>
+<p style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 38</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The discussion of attribute specifiers
+should be a separate paragraph.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 39</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The paragraph says in part "An
+opaque-enum-declaration declaring an unscoped enumeration shall not
+omit the enum-base." This statement implies that the base may be
+omitted for scoped enumerations, which is somewhat inconsistent
+with paragraph 3 and somewhat consistent with paragraph 5.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">As this implication leaves no representation, it
+should be either affirmed here or the statement should be expanded.
+Perhaps a note is warranted.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 13</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">paragraph 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">In the description for an unscoped
+enumeration, enum-base in redeclaration must be the same underlying
+type as in the 1st declaration, but it is not described explicitly,
+while it is referred that all enum-bases in redeclarations must
+specify the same underlying type.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Replace the description,
+"same underlying type", with "same as underlying type of (previous)
+declaration."</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+96</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">enum E { }; What are the values of E? It has
+neither a smallest nor largest enumerator, so paragraph 7 doesn't
+help. (Paragraph 6 indicates that the underlying type is as if E
+had a single enumerator with value 0, but that does not define the
+values of E.)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a second
+sentence to paragraph 7 (before "Otherwise"): "If the
+enumerator-list is empty, 0 is the only value of the
+enumeration."</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+97</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Missing punctuation after "blue" in: "The possible
+values of an object of type color are red, yellow, green, blue
+these values can be converted ..."</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+semicolon: "The possible values of an object of type color are red,
+yellow, green, blue; these values can be converted ..."</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+98</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It would be useful to be able to determine the
+underlying type of an arbitrary enumeration type. This would allow
+safe casting to an integral type (especially needed for scoped
+enums, which do not promote), and would allow use of
+numeric_limits. In general it makes generic programming with
+enumerations easier.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+TransformationTrait to 20.5.6 that returns the underlying type of
+an enumeration type.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+99</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is unclear whether an enumeration type is
+complete after an opaque-enum-declaration. This paragraph only says
+so in a note, and the general rule in 3.9/5 ("Incompletely-defined
+object types ... are incomplete types") is unclear in this
+situation.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move "an
+enumeration declared by an opaque-enum-declaration ... is a
+complete type" from the note to normative text.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 14</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.3.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">The description of the
+behavior when a member that was defined with same name in other
+namespace was referred.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.45in; text-indent: -0.25in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">- It seems that the behavior
+of the following case is not defined. So we think that it is
+necessary to define that.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">namespace Q {</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">inline namespace V {</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">int g;</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">int g;</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.67in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Q::g =1;// ill-fromed, Q::V::g =1;, or Q::g =
+1;?</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.45in; text-indent: -0.25in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">- Add that the following case
+is ill-formed to more easily to understand.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">namespace Q {</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">inline namespace V1{</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">int g;</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">inline namespace V2{</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">int g;</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.5in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.44in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Q::g =1;//ill-formed</font>
+<p lang="en-GB" align="left" style="text-indent: 0.44in"><br>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">Add the description of the
+behavior when a member that was defined with same name in other
+namespace was referred.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+100</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.3.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">10 and
+13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Para 10 says "A using-declaration is a declaration
+and can therefore be used repeatedly where (and only where)
+multiple declarations are allowed." Para 13 says "Since a
+using-declaration is a declaration, the restrictions on
+declarations of the same name in the same declarative region (3.3)
+also apply to using-declarations." These appear to be saying
+exactly the same thing.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Delete para
+10, moving its example into para 13.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+101</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.3.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">20</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">If a using-declaration uses the keyword typename
+and specifies a dependent name (14.6.2), the name introduced by the
+using-declaration is treated as a typedef-name (7.1.3). That
+doesn't specify at all what the effect of using typename with a
+non-dependent name is. Is it allowed? What about outside any
+template? What if the name isn't a type? (14.6/4 doesn't cover
+this, I think.)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Allow
+typename for non-dependent names iff they refer to a type.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-12</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.3.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p15</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-12 Overriding and hiding
+of member functions named in using-declarations should consider
+ref-qualifiers, because they are part of the function type.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 25</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.3.3 [The using
+declaration]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Paragraph 21</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The syntax for concept map alias is
+unnecessarily both confused and verbose.</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">We strongly suggest simplifications,
+e.g.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">using N1::C<int>;</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">that fits well with existing constructs.
+The syntactic complexity is too high for a new feature presumably
+designed to support sound programming.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+102</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This paragraph says "If name lookup finds a
+declaration for a name in two different namespaces, and the
+declarations do not declare the same entity and do not declare
+functions, the use of the name is ill-formed." But the example uses
+declaration of functions, so is not covered by this
+paragraph.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the
+example to paragraph 7, and/or replace it with an appropriate
+example.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 40</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">The list of attributes is missing an attribute to
+indicate that a function with a</font> <code><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">throw()</font></code>
+<font size="2" style="font-size: 9pt">(throws nothing) clause need
+not have the</font> <code><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">unexpected()</font></code> <font size="2"
+style="font-size: 9pt">catch clause generated. This attribute was a
+motivating example for the attribute syntax, and its omission is
+surprising.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Add the attribute.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 41</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">A common problem is unintentionally
+declaring a new virtual member function instead of overriding a
+base virtual member function.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">An attribute stating intent to override would
+enable better diagnostics.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 26</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">7.6 [Attributes]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Are they part of object types or not? The
+section does not appear to indicate that clearly.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">7.6</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add override-attribute for
+functions in order to avoid mistakes when overriding
+functions.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">See
+override­-attribute.doc, override-attribute.ppt</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 27</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">7.6.1</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">This section specifies that no name lookup
+is performed on any identifier contained in an attribute-token.
+This in particular implies that, for example, it is impossible to
+define a template class parameterized by its alignment. That
+restriction is unacceptable.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The original alignment proposal made that
+useful construct possible.</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Furthermore paragraph 7.6.1/2 appears
+contradictory with the rest of that section -- since no name lookup
+is performed, how a 'type-id'is determined?</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+103</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Attributes
+should support pack expansion. For example, this would be extremely
+useful with the align attribute, directly supporting the (removed)
+functionality of aligned_union. NOte that aligned_union was removed
+as varaiant-unions were considered a complete replacement - however
+this is not true for variadic templates. Adding this support to
+attributes would remove the remaining need, and support similar
+attributes in the future.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add:
+attribute... to the grammar for attribute-list Add to list in
+14.5.3p4: "In an attribute-list(7.6.1); the pattern is an
+attribute."</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+104</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is helpful for each subclause to contain a
+short paragraph introducing its intent an purpose. 7.6 has such a
+paragraph, but it is nested under a more specific
+subsection.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">7.6.1p1
+should move up one level to become 7.6p1. There grammar should
+remain under 7.6.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+105</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Allowing only
+one level of namespaces in attributes seems unnecessarily
+limiting.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">To:
+attribute-scoped-token: attribute-namespace :: identifier add
+attribute-namespace :: attribute-scoped-token</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+106</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Extensive use of alignment and related terms
+without cross reference.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+cross-reference to 3.11.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 15</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.6.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">An abbreviation of 7.6.2
+should be “[decl.attr.align]” instead of
+“[dcl.align]”.<br>
+Section name “[dcl.align]” is not consistent with
+others, because others in 7.6 are the form of
+“dcl.attr.*”. In N2761, the section name of 7.1.7 had
+been changed from “[dcl.align]” to
+“[dcl.attr.align]”, but in N2800 it was reverted to
+“[dcl.align]” along with a change of section number,
+7.1.7 to 7.6.2.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Change "[dcl.align]" of
+7.6.2 to "[decl.attr.align]".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+107</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">While undefined behaviour might be the best we can
+guarantee, it would be helpful to encourage implementations to
+diagnose function definitions that might execute a return.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Adda a [Note
+: implementations are encouraged to issue a diagnostic where the
+definition of a function marked [[noreturn]] might execute a return
+statement -- end note]</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+108</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is unclear why no diagnostic is required for an
+easily detectable violation. It is even more surprising that the
+associated footnote mandates behaviour for an ill-formed
+program.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike "no
+diagnostic required" and the associated footnote.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 42</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7.6.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">The meaning of the</font> <code><font size="2"
+style="font-size: 9pt" face=
+"Arial, sans-serif">[[final]]</font></code> <font size="2" style=
+"font-size: 9pt">attribute applied to classes is inconsistent with
+other languages and not desirable in its own right.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Modify the semantics of</font> <code><font size=
+"2" style="font-size: 9pt" face=
+"Arial, sans-serif">[[final]]</font></code> <font size="2" style=
+"font-size: 9pt">applied to classes. See the attached paper "Issues
+with the C++ Standard" under Chapter 7 "Meaning of</font>
+<code><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">[[final]]</font></code> <font size="2" style=
+"font-size: 9pt">attribute applied to classes".</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+109</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The example code refers in comments to
+"Compilation unit" A and B. The term should be "Translation unit"
+(2/1)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+"Compilation" with "Translation" in two places</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+110</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">7.6.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The code in the example (compilation unit A) has:
+"foo_head[i].load(memory_order_consume)". foo_head[i] is of type
+foo *, so it does not have a load member.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change the
+type of foo_head to atomic<foo *>[].</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 43</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">8</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">With the introduction of late-specified return
+types for functions and lambda expressions, we now have three
+different syntaxes for declaring functions. The</font>
+<code><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">-></font></code> <font size="2" style=
+"font-size: 9pt">late declaration is used in two. The</font>
+<code><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">auto</font></code> <font size="2" style=
+"font-size: 9pt">keyword is used in one, but also used differently
+in variable definitions.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Some simplification is needed.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+111</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">8.3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Example missing closing bracket in
+template<typename... T> void f(T (* ...t)(int, int);</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add closing
+bracket like this: template<typename... T> void f(T (*
+...t)(int, int));</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 44</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">8.3.5</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">13</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">In the Example, "template void f(T (*
+...t)(int, int);" is missing a close parenthesis.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">It presumably should read: "template void f(T (*
+...t))(int, int);".</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 45</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">8.3.5</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">13</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">At present, function
+parameter packs can only occur at the end of a
+parameter-declaration-list. This restriction unnecessarily
+prohibits uses of function parameter packs in cases where template
+argument deduction isn’t needed, e.g.,</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template<class...
+T> struct X { };</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template<class... T1,
+class... T2></font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">struct X<pair<T1,
+T2>...> {</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">void f(T1...,
+T2...);</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">};</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">More importantly, this
+restriction is inconsistent with the way pack expansions are
+handled. For example, this template is well-formed (but X<T...,
+int> is a non-deduced context):</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template<class...
+T> void f(X<T..., int>);</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Therefore, the restriction that limits function
+parameter packs to the end of the parameter-declaration-list should
+be removed. Instead, function parameter packs not at the end of the
+parameter-declaration-list should be considered non-deduced
+contexts.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 8.3.5p13, remove the sentence
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">A function parameter pack, if
+present, shall occur at the end of the
+parameter-declaration-list.”</span></font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">In 14.8.2.1p1, replace the phrase
+“For a function parameter pack” with “For a
+function parameter pack that occurs at the end of a</span></font>
+<font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang=
+""><i>parameter-declaration-list</i></span></font><font size="2"
+style="font-size: 9pt" face="Arial, sans-serif"><span lang=
+"">”.</span></font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">Replace the note text “A
+function parameter pack can only occur at the end of a
+parameter-declaration-</span></font><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">list (8.3.5).” with
+“A function parameter pack that does not occur at the end of
+a parameter-declaration-list is a non-deduced
+context.”</font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 14.8.2.5p5, add a new
+bullet: “A function parameter pack that does not occur at the
+end of its parameter-declaration-list.”</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 14.8.2.5p10, replace
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">If</span></font> <font size="2"
+style="font-size: 9pt" face="Arial, sans-serif">the
+parameter-declaration corresponding to Pi is a function parameter
+pack” with “</font><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif"><span lang=
+"">If</span></font> <font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">the parameter-declaration corresponding to Pi
+is a function parameter pack and Pi occurs at the end of the
+parameter-declaration-list”.</font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Replace</font> <font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif"><span lang="">the note
+text “A function parameter pack can only occur at the end of
+a parameter-declaration-</span></font><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">list (8.3.5).” with
+“A function parameter pack that does not occur at the end of
+a parameter-declaration-list is a non-deduced
+context.”</font></font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-13</font>
+<td>
+<p><font size="2" style="font-size: 9pt">8.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-13 The second
+paragraph, quoting the grammar for the declarator of a function
+declaration, is not considering late-specified return types and
+attributes.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Properly quote the grammar
+from 8.3.5.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 16</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">8.5</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">15</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo, duplicated "in"</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">"The initialization that occurs in in the
+forms"</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Remove one.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 46</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">8.5.3</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">The ability for an rvalue
+reference to bind to an lvalue opens a type-safety hole that
+becomes very dangerous with concepts. For example, consider
+vector’s push_back operation:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requires
+MoveConstructible<T> void push_back(T&&);</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requires
+CopyConstructible<T> void push_back(const T&);</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">For a copy-constructible
+T (which is also move-constructible), push_back does the right
+thing. However, if T is something that is move-constructible (e.g.,
+unique_ptr<int>), the second overload is removed from
+considered (it is effectively SFINAE’d away), so only the
+first overload remains. Therefore, one could accidentally call
+push_back with an lvalue of type T, and push_back would silently
+move from the lvalue. The same problem occurs without concepts
+(albeit less frequently).</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Prohibit rvalue
+references from binding to lvalues.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Unfortunately this change
+will break some current use cases of rvalue reference including the
+use of rvalue streams, and of the forward function itself. To
+resolve this we may want to consider three types of
+references:</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<ol>
+<li>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">The current
+reference.</font>
+<li>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">A non-const reference
+that only binds to rvalues.</font>
+<li>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">A non-const reference
+that will bind to both lvalues and rvalues.</font></ol>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Still another solution would be to adopt the
+“deleted function” solution for all functions. This
+solution is described in comment for 12.1, 12.4, 12.8, but
+restricted to special functions in that comment. (See US
+NN).</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 49</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">8.5.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">6</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">In the Example, the comments could be
+improved.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">See the attached paper "Issues with the
+C++ Standard" under "Editorial Issues" and "8.5.4/6".</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+112</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4-9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">We now have concepts that should (or should not?)
+map to the terms described in Clause 9 - these should be at least
+referenced.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+appropriate forward references to 14.9.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+113</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">9.4.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Mis-applied
+edit from the paper n2756</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The term
+'constant-initializer' should have been struck out when replaced by
+brace-or-equal-initializer. There are two occurrences in this
+paragraph</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 50</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">12.1, 12.4, 12.8</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Implicitly-declared
+default constructors, destructors, copy constructors, and copy
+assignment operators are deleted when their definitions would be
+ill-formed. However, unlike with overloading and template argument
+deduction, access control is performed as part of the check for
+making one of these special function deleted. This inconsistency
+should be removed.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">This change would
+sacrifice some backward compatibility in favor of consistency. With
+the current wording, checking that the following class
+‘A’ is CopyConstructible would proceed without error
+(it is not CopyConstructible):</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">class A { A(const
+A&); };</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">With the proposed change,
+testing whether A is CopyConstructible would produce a diagnostic.
+To fix the problem, the user would have to use a deleted
+function:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">class A { A(const A&)
+= delete; };</font>
+<p align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 12.1p5, remove the phrase
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">or inaccessible from the
+implicitly-declared default</span></font> <font size="2" style=
+"font-size: 9pt" face=
+"Arial, sans-serif">constructor”.</font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 12.4p3, remove the phrase
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">or a destructor that is
+inaccessible from the implicitly-declared destructor,” and
+the phrase “or a destructor that is inaccessible from
+the</span></font> <font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">implicitly-declared
+destructor</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">”.</span></font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 12.8p5, remove the phrase
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">or inaccessible from the
+implicitly-declared copy constructor” from the two places it
+occurs.</span></font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 12.8p10, remove the phrase
+“</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang="">or inaccessible from the
+implicitly-declared copy assignment operator” from the two
+places it occurs.</span></font></font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 28</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">12.6.1 [Explicit initialization]</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">This section, in particular the example with
+`g' appears contradictory with the syntax for uniform
+initialization.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 51</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">12.6.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The discussion of delegating
+constructors should be in its own paragraph.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+114</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">12.6.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Despite all
+the attempts to unify initialization syntax, it is still not
+possible to copy-initialize base classes or non-static data
+members, which means the explicit keyword cannot have a bearing
+during evaluation of a constructor. A minimal addition to the
+grammar, allowing an optional = between the mem-initializer-id and
+braced-init-list would allow the user to choose between copy and
+direct initialization</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Ammend the grammar for mem-initializer:
+mem-initializer-id =OPT braced-init-list Extend p3 to allow for
+Copy Initialization if the optional = is present: 3 The
+expression-list or braced-init-list in a mem-initializer is used to
+initialize the base class or non-static data member subobject
+denoted by the mem-initializer-id according to the initialization
+rules of 8.5 for direct-initialization, OR COPY-INITIALIZATION IF
+THE OPTIONAL = IS PRESENT BETWEEN THE MEM-INITIALIZER-ID and the
+BRACED-INIT-LIST. [Example:...</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 52</font>
+<td>
+<p><font size="2" style="font-size: 9pt">13.5.8</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 5</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">A word is
+misspelled.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change “shal”
+to “shall”.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+115</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">6-11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Exported templates were a great idea that is
+generally understood to have failed. In the decade since the
+standard was adopted, only one implementation has appeared. No
+current vendors appear interested in creating another. We
+tentatively suggest this makes the feature ripe for deprecation.
+Our main concern with deprecation is that it might turn out that
+exported constrained templates become an important compile-time
+optimization, as the constraints would be checked once in the
+exported definition and not in each translation unit consuming the
+exported declarations.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Consider
+deprecating exported templates, but no action yet. Examine
+interaction with constrained templates, and see if other more
+appropriate mechanism will support compile-time
+optimization.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+116</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">6-11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Is it possible to export a concept map template?
+The current wording suggests it is possible, but it is not entirely
+clear what it would mean.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either
+prohibit exporting concept map templates, or more directly address
+what it means to export a concept map.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+117</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It would be nice to allow template alias within a
+function scope, and possibly a scoped concept map. As these affect
+name lookup and resolution, rather than defining new callable code,
+they are not seen to present the same problems that prevented class
+and function templates in the past.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Allow
+template aliases to be declared inside a function scope, and
+consider scoped concept maps.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+118</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">6-11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Exported templates are a complicated feature with
+surprisingly little text. To make this important text more visible,
+split it off into its own subclause [temp.export]</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Create a new
+subclause [temp.export] containing 14p6-11. Move 14p12 ahead of
+this subclause.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+119</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Does a concept map have linkage? Reading this
+paragraph and 3.5 suggests a concept map template has external
+linkage, but not a 'regular' concept map. Believe this is an
+oversight that the linkage words were not updated to provide an
+exception, rather than linkage of concept maps is intended.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add an
+exception that concept map templates have no linkage, or add
+concept maps to the list of entities with linkage in 3.5</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+120</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">As this is the first time the phrase
+“parameter pack” appears in Ch 14 I would like to see
+the section 8.3.5 referenced here (as well as in 14.1p17).</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Insert
+“(8.3.5)” after “parameter pack”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+121</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">18</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The example (that follows the normative text) has
+no begin example marker</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Prefix the
+example code with "[ Example:"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 29</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">14.3 [Template arguments]</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Constant expressions of any literal type should
+be allowed as template arguments.</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 53</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">14.5.1</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">5</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">If the requirements of a constrained member
+that is a copy constructor, copy assignment operator, or destructor
+are not satisfied, then that user-declared special function will
+not exist. It appears that, in this case, the special function will
+then be</font> <font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><i>implicitly</i></font> <font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">defined, which is likely
+to either (a) fail to compile or (b) produce a function with the
+wrong semantics. For example:</font></font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template<ObjectType
+T> class vector {</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">T* first, last,
+end;</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">public:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requires
+CopyConstructible<T> vector(const vector&);</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">};</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">If instantiated with a type that is not
+CopyConstructible, vector will get an implicitly-defined copy
+constructor that performs a copy of the pointers.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Add to 14.5.1p5:</font>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">If the constrained member is a copy constructor
+(12.8), destructor (12.4), or copy assignment operator and its
+template requirements are not satisfied, then a copy constructor,
+destructor, or copy assignment operator, respectively, with the
+same signature as the constrained member (after substituting the
+class template’s template arguments for its template
+parameters) will be declared as a deleted function (8.4).</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+122</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.5.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Variadic templates should be supported in axioms.
+There are axioms in the library that rely on this feature, such as
+the FrontEmplacement axiom in FrontEmplacementContainer
+(23.1.6.1p10)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+clarification in p2 that function parameter packs can be used to
+declare axioms, much like p1 clarifies they can be used to declare
+concepts as well as templates.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 30</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">14.5.7 [Template aliases]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">When are two template alias names
+equivalent?</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">E.g. given</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<template<class>
+class> struct X { };</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<typename,typename> struct Y
+{ };</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<typename T></font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">using Z1 = Y<int,T>;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">template<typename T></font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">using Z2 = Y<int,T>;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Are the types X<Z1> and X<Z2>
+equivalent?</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">We would suggest yes (since Z1<T>
+and Z2<T> are the same for all T), but we do not see any
+wording to that effect.</font>
+<p><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 17</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">14.7.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 15</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">if that namespace is inline, any
+namespace from its enclosing namespace set.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">if that namespace is inline, any namespace</font>
+<font size="2" style="font-size: 9pt" color=
+"#339966">forming</font> <font size="2" style="font-size: 9pt">its
+enclosing namespace set.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Replace "from" with
+"forming"</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-14</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.7.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-14 The bulleted list
+neither addresses "member function template of a class" nor "member
+class template of a class".</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add the respective
+bullets.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 18</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">14.7.3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">any namespace from its enclosing
+namespace set</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">any namespace</font> <font size="2" style=
+"font-size: 9pt" color="#339966">forming</font> <font size="2"
+style="font-size: 9pt">its enclosing namespace set</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Replace "from" with
+"forming"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 19</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">14.8.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo, duplicated "is"</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">"At certain points in the template argument
+deduction process it <u>is is</u> necessary"</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Remove one</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 54</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">14.9 [concept],</font>
+<p><font size="2" style="font-size: 9pt">14.10
+[temp.constrained]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ge</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Concepts is of course the
+largest new feature in C++0x (in terms of new text inserted into
+the wording), and already we have found some significant defects
+with it. So far nothing devastating has been found, but more time
+is needed to shake more bugs out.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">I propose no specific
+change here.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 55</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.9.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 6</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The paragraph number is in
+the wrong place, causing a grammar rule to be indented more than
+its fellows.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Move the paragraph number
+so as to follow the grammar rules, thus numbering the single
+sentence, “The body of a concept … .”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 56</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.9.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 6</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The sentence contains two
+references to 14.9.1.3 [concept.req].</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change the second such
+reference (at the end of the sentence) to 14.9.1.4
+[concept.axiom].</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 57</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.9.1.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">A word is misplaced,
+changing the intended meaning.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change “only find
+… if” to “find … only if”.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 58</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.9.1.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The listed phrases are not
+grammatically parallel.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Insert “in”
+before “one” so as to obtain “... in the concept,
+in one of its less refined concepts, or in an associated
+requirement.”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 59</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">14.9.1.4</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Axioms are under-specified and provide little
+benefit to programmers, so they should be removed from the working
+paper. The optimizations permitted by axioms (see 14.9.1.4p4-5) are
+not compulsory (and, therefore, programmers cannot rely on them)
+and the semantics expressed by axioms cannot be verified by any
+implementation. The resulting specification has lead to great
+confusion (see the reflector thread “Are floating point types
+Regular?” starting with c++std-lib-22717). Given the level of
+confusion and the inability to verify the correctness of axioms, it
+is likely that many axioms written by programmers (including those
+specified in the candidate draft) will be incorrect.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove clause 14.9.1.4
+[concept.axiom]</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 2.11p1, remove
+“axiom” from the list of keywords.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 14.5.8p7, remove
+“, or if the resulting concept map fails to satisfy the
+axioms of the corresponding concept”</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 14.9.1p6, remove
+axiom-definition from the list of grammar productions for
+concept-member-specifier. Remove “, and axioms” from
+the final sentence, and instead “and” prior to
+“associated requirements” in the final sentence.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove paragraph 14 of
+clause 14.9.2.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In 14.10.1p6, remove the sentence, “When
+the concept-instance-alias-def appears in the optional
+requires-clause of an axiom-definition (14.9.1.4), the potential
+scope of the identifier begins at its point of declaration and
+terminates at the end of the
+axiom-definition.”</font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="3" face=
+"Helvetica, sans-serif"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">In clauses 20.2.5, 20.2.8, 23.1.6.1, 23.1.6.2,
+and 24.1.4, remove the axiom-definitions and replace them with
+paragraphs (denoted Requires, Postconditions, or Effects, as
+appropriate) that express the intended semantics of the concepts
+from which the axiom-definitions were removed.</font></font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 24.1.4p2, replace the
+word “axiom” with “condition.”</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 31</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">14.9.1.4 [Axioms]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">This section states that an
+axiom-definition defines a new semantics axiom but is unusually
+vague as to what those semantics might be.</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The use of the '==' and '!=' with
+completely new semantics, unrelated to anything we have seen before
+in C++ is both unwise and confusing, especially if the types
+involved in the expressions happen to have operator== and
+operator!= defined.</font>
+<p style="margin-bottom: 0in"><font size="2" style=
+"font-size: 10pt" face="Consolas, monospace"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">We strongly suggest use
+of different tokens, e.g.</font> <font size="2" style=
+"font-size: 9pt" face="Wingdings"></font><font size="2"
+style="font-size: 9pt" face="Arial, sans-serif">, and opposed to
+this obscure usage/overload.</font></font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The description is very vague. How many
+times is an implementation permitted to replace one expression by
+another one when they have side effects?</font>
+<p><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-15</font>
+<td>
+<p><font size="2" style="font-size: 9pt">14.9.1.4</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-15 There is no
+implementation experience for axioms. Use of axioms is an area of
+active scientific research. It is likely that syntax changes will
+become necessary to make good use of axioms; having the syntax
+space already crowded is unhelpful. Axioms ought to be useful in
+concepts applicable to floating-point types (such as
+EqualityComparable), but IEEE floating-point types have special
+values such as NaN violating the axioms.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Remove section 14.9.1.4
+and any reference to axioms in the rest of the proposed standard
+other than the keyword reservation in section 2.11.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+123</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.1.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">auto concepts and axioms are incompatible. An
+axiom defines the semantics of an operaton or set of operations
+that describes the run time behaviour. A concept describes purely
+syntactic requirements at compile time. Where an auto concept will
+match anything that meets the syntax requirements, there is no way
+to know if the axioms will be met or not, and no way to opt out via
+some kind of negative concept map.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+paragraph making axioms ill-formed inside an auto concept.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK<br>
+124</font>
+<p><br>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Spelling
+mistake, double-e in were.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">weere ->
+were</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+125</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The implicit equality comparison operator
+available to axioms has no semantic. It is not clear what
+expressing the condition if( a == b ) { conditional-axiom } would
+mean if a and b are not truly EqualityComparable. We suspect the
+intent of the 'implicit defefinition' is to support declaring the
+equivalence of statements, a context where the operator will not
+actually be evaluated.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Define the
+semantics of the implicitly declared comparison operators, or
+restrict their usage to declaring equivalence between
+statements.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+126</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">41</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This paragraph contains the only definition of the
+underlying_type member - but it's a note, so not normative.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the
+second sentence to the Requires clause in paragraph 42.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+127</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Provide a diagram clearly showing refinement
+relationship between the different support concepts. Several were
+created during development of this clause and they were very
+helpful.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide the
+diagram.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+128</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">14.9.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">It is
+surprising for many people that non-copyable move-only types can be
+used with a return statement, and so Returnable does not always
+imply CopyConstructible.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A non-normative note: [Note: 'move only' types
+that are constructible from rvalue references may be Returnable,
+but not CopyConstructible(20.1.8) - end note]</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 20</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">14.9.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.2in; text-indent: -0.2in; margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Trivially copyable type was
+added in “3.9 Types”, so we think that it is necessary
+to add concept to trivially copyable type like
+“TriviallyCopyableType”.</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.2in; text-indent: -0.2in; margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add TriviallyCopyableType that is
+trivially copyable type as concept.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+129</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">14.10.1,
+20.1.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It should be possible to support boolean constant
+expressions as requirements without resorting to defining the True
+concept in the library. Boolean expressions are very likely to be
+constraints when deadline with non-type template parameters and
+variadic templates, and constraints in these cases should feel just
+as natural as constraints on the type system.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the
+True concept and library subclause 20.1.2. Provide support in
+14.10.1 for boolean constant expressions as constraints. This may
+involve overloading the true keyword to disambiguate but ideally
+would not.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 60</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">14.10.1</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">1</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The use of && as the separator for a
+list of requirements has shown itself to be a serious teachability
+problem. The mental model behind ‘&&’ treats
+concepts as simple predicates, which ignores the role of concepts
+in type-checking templates. The more programmers read into the
+‘&&’ (and especially try to fake || with
+&& and !), the harder it is for them to understand the role
+of concept maps. Simply changing the separator to ‘,’
+would eliminate a significant source of confusion.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Replace</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement-list:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement-list ...
+[opt] && requirement</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement ...
+[opt]</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">with</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement-list</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement-list ...[opt]
+, requirement</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">requirement ...
+[opt]</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In 14.5.4p6, replace the
+first sentence with:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">The instantiation of an
+expansion produces a comma-separated list E1, E2, ..., EN, where N
+is the number of elements in the pack expansion parameters.</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+130</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">With the new crrent_exception API it is possible
+to capture a reference to an exception that will outlive its last
+active handler. That is in conflict with the sentance "When the
+last remaining active handler for the exception exits by any means
+other than throw; the temporary object is destroyed and the
+implementation may deallocate the memory for the temporary
+object;"</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Update
+sentence to allow for exceptions held in excpetion_ptr
+objects.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+131</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A handler catching its parameter by
+rvalue-reference is syntactically valid, but will never be
+activated.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Disallow
+handlers catching by rvalue-reference.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+132</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">16</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There are obscure cases whrere a copy constructor
+is not usually the best match to copy-initialize an object, e.g. A
+converting constructor template taking arguments by non-const
+reference. A footnote explaining such cases would be helpful, or
+the sentance could be rewritten using copy-initialization instead
+of directly calling a copy constructor.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Rewite using
+copy-initialization rather than directly invoking the copy
+constructor</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+133</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Template aliases have the same semantics as a
+typedef so should also be disallowed</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">add "or
+alias-declaration" after "shall not appear in a typedef
+declaration".</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+134</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The sentance "An exception-specification can also
+include the class std::bad_exception (18.7.2.1)." is
+redundant.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either strike
+the quoted sentance, or add a note explaining why it is worth
+calling special attention to this class.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+135</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Unclear if
+std::unexpected is called before or after the function arguments
+have been destroyed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify the
+sequence of calling unexpected with respect to interesting objects,
+such as function arguments or partially constructed bases and
+members when called from a constructor or destructor</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+136</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Exception
+specifications have proven close to worthless in practice, while
+adding a measurable overhead to programs. The feature should be
+deprecated. The one exception to the rule is the empty throw
+specification which could serve a legitimate optimizing role if the
+requirement to call the runtime unexpected mechanism was relaxed in
+this case.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move 15.4 and
+the parts of 15.5 that refer to it to Appendix D. Replace 15.4 with
+a simpler specification for empty throw specifications, where the
+std::unexpected call is conditionally supported allowing vendors to
+choose between optimizing and providing runtime checks. Ideally
+require vendors to provide a mode where the runtime checks are
+always disabled.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+137</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is no mention of the current_exception API
+which can extend the lifetime of an exception object. There should
+at least be a forward reference to the library clause 18.7.5</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add another
+paragraph outlining 18.7.5 and the ability of an exception_ptr to
+extend the lifetime of an exception object</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+138</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The third bullet is redundant with the first, as
+it is a subset of the same conditions.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Merge the
+third bullet into the first bullet as a note or example.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+139</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">According to the first bullet it is perfectly
+alright for a library function to exit by throwing an exception
+during stack unwinding, This is clearly not true.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+word 'user' from the first bullet point.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+140</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.5.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The detailed specification can fool people into
+thinking an exception will automatically be translated into
+bad_exception, where the default behaviour of std::unexcepted is to
+immediately call std::terminate();</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a note
+highlighting the default behaviour of std::unexpected if the user
+does not supply a hander-function</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+141</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">15.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This whole subclause is redundant due to 15.1p5
+and 15.3p17</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike
+15.6</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+142</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">16.3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This paragraph opens with "[ Note" but has no
+corresponding "end note ]"</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "end note
+]"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+143</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">16.3.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Example uses
+#define t(x,y.z) x ## y ## z</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+"x,y.z" to "x,y,z"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">17-30</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge/te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The active issues identified in WG21
+N2806, C++ Standard Library Active Issues, must be addressed and
+appropriate action taken.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+<font color="#000080" size="2" style="font-size: 11pt"><u><a href=
+"http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html"><font size="2"
+style=
+"font-size: 9pt">http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html></a></u></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Appropriate action would include making changes to
+the CD, identifying an issue as not requiring a change to the CD,
+or deferring the issue to a later point in time.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">General Comment</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Library</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ge</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">The adoption of the library `constexpr'
+proposal was not reflected in the draft, despite formal WG21
+committee vote.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">FR 2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">General Comment</font>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 61</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">17 onward</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The concepts core language
+feature is applied to only some of the Standard Library clauses,
+and even then not always consistently.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Review all clauses of the
+Standard Library, and consistently apply concept technology
+wherever possible and appropriate. The proposed wording in WG21
+N2781 exemplifies the necessary level of detail.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">CA-2</font>
+<td>
+<p style="margin-top: 0.04in"><font size="2" style=
+"font-size: 9pt">17 Library</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in">
+“<font size="2" style="font-size: 9pt">Concepts” are a
+significant new addition to the language, but are not exploited
+uniformly in the library as documented in CD 14882.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Fix the standard library so that
+“Concepts” are used appropriately in the
+library.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 62</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">17-30</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Provide concepts and
+requirements clauses for all standard library templates</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 63</font>
+<td>
+<p style="margin-top: 0.04in; margin-bottom: 0.04in"><font size="2"
+style="font-size: 9pt">17-30</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The behavior of the
+library in the presence of threads is incompletely
+specified.</font>
+<p><font size="2" style="font-size: 9pt">For example, if thread 1
+assigns to X, then writes data to file f, which is read by thread
+2, and then accesses variable X, is thread 2 guaranteed to be able
+to see the value assigned to X by thread 1? In other words, does
+the write of the data "happen before" the read?</font>
+<p><font size="2" style="font-size: 9pt">Another example: does
+simultaneous access using operator at() to different characters in
+the same non-const string really introduce a data race?</font>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">17 through 30</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-2 Marking a constructor
+with "explicit" has semantics even for a constructor with zero or
+several parameters: Such a constructor cannot be used with
+list-initialization in a copy-initialization context, see 13.3.1.7.
+The standard library apparently has not been reviewed for marking
+non-single-parameter constructors as "explicit".</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Consider marking
+zero-parameter and multi-parameter constructors "explicit" in
+classes that have at least one constructor marked "explicit" and
+that do not have an initializer-list constructor.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 21</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">17 Library</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">21.2, 21.4,</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.2, 27.6, 27.7, 27.8.1, 28.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Support of char16_t/char32_t is
+insufficient. The basic_xxx classes of <iostream>,
+<fstream>, <regex>, etc. does not have typedefs for
+char16_t/char32_t.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Functions such as stoi, to_string in
+‘21.4 Numeric Conversion’ does not support
+char16_t/char32_t types.</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Add commented lines corresponding to char16_t,
+char32_t.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">21.2 paragraph1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">// 21.4: numeric
+conversions</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">int stoi(const
+u16string& str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long stol(const
+u16string& str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">unsigned long
+stoul(const u16string& str, size_t *idx = 0, int base =
+10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long long stoll(const
+u16string& str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">unsigned long long
+stoull(const u16string& str, size_t *idx = 0, int base =
+10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">float stof(const
+u16string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">double stod(const
+u16string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long double stold(const
+u16string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u16string
+to_u16string(long long val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u16string
+to_u16string(unsigned long long val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u16string
+to_u16string(long double val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<font size="2" style="font-size: 9pt">int stoi(const u32string&
+str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long stol(const
+u32string& str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">unsigned long
+stoul(const u32string& str, size_t *idx = 0, int base =
+10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long long stoll(const
+u32string& str, size_t *idx = 0, int base = 10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">unsigned long long
+stoull(const u32string& str, size_t *idx = 0, int base =
+10);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">float stof(const
+u32string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">double stod(const
+u32string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">long double stold(const
+u32string& str, size_t *idx = 0);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u32string
+to_u32string(long long val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u32string
+to_u32string(unsigned long long val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">u32string
+to_u32string(long double val);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">27.2</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ios<char> ios;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ios<wchar_t> wios;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ios<char16_t> u16ios;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ios<char32_t> u32ios;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<wchar_t> wifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<wchar_t> wofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_fstream<wchar_t> wfstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_streambuf<char16_t> u16streambuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istream<char16_t> u16istream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostream<char16_t> u16ostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_iostream<char16_t> u16iostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringbuf<char16_t> u16stringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istringstream<char16_t> u16istringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostringstream<char16_t> u16ostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<char16_t> u16stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_filebuf<char16_t> u16filebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<char16_t> u16ifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<char16_t> u16ofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_fstream<char16_t> u16fstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_streambuf<char32_t> u32streambuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istream<char32_t> u32istream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostream<char32_t> u32ostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_iostream<char32_t> u32iostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringbuf<char32_t> u32stringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istringstream<char32_t> u32istringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostringstream<char32_t> u32ostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<char32_t> u32stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_filebuf<char32_t> u32filebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<char32_t> u32ifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<char32_t> u32ofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+<u> <font size="2" style="font-size: 11pt"><font size="2"
+style="font-size: 9pt">typedef basic_fstream<char32_t>
+u32fstream;</font></font></u>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+state> class fpos;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+fpos<char_traits<char>::state_type> streampos;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+fpos<char_traits<wchar_t>::state_type>
+wstreampos;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+fpos<char_traits<char16_t>::state_type>
+u16streampos;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+fpos<char_traits<char32_t>::state_type>
+u32streampos;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">27.6</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_istream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istream<char> istream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istream<wchar_t> wistream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_istream<char16_t> u16istream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istream<char32_t> u32istream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_iostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_iostream<char> iostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_iostream<wchar_t> wiostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_iostream<char16_t> u16iostream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_iostream<char32_t> u32iostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_ostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostream<char> ostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostream<wchar_t> wostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_ostream<char16_t> u16ostream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostream<char32_t> u32ostream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">27.7 paragraph 1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+     <font size="2" style=
+"font-size: 9pt">class Allocator = allocator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_stringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringbuf<char> stringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringbuf<wchar_t> wstringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_stringbuf<char16_t> u16stringbuf;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringbuf<char32_t> u32stringbuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+     <font size="2" style=
+"font-size: 9pt">class Allocator = allocator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_istringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istringstream<char> istringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istringstream<wchar_t> wistringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_istringstream<char16_t> u16istringstream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_istringstream<char32_t> u32istringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+     <font size="2" style=
+"font-size: 9pt">class Allocator = allocator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_ostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostringstream<char> ostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostringstream<wchar_t> wostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_ostringstream<char16_t> u16ostringstream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ostringstream<char32_t> u32ostringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+     <font size="2" style=
+"font-size: 9pt">class Allocator = allocator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<char> stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<wchar_t> wstringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<char16_t> u16stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_stringstream<char32_t> u32stringstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">27.8.1 paragraph 1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_filebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_filebuf<char> filebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_filebuf<wchar_t> wfilebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_filebuf<char16_t> u16filebuf;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_filebuf<char32_t> u32filebuf;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_ifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<char> ifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<wchar_t> wifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_ifstream<char16_t> u16ifstream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ifstream<char32_t> u32ifstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_ofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<char> ofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<wchar_t> wofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_ofstream<char16_t> u16ofstream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_ofstream<char32_t> u32ofstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">template <class
+charT, class traits = char_traits<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">class
+basic_fstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_fstream<char> fstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_fstream<wchar_t> wfstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt"><u>typedef
+basic_fstream<char16_t> u16fstream;</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_fstream<char32_t> u32fstream;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">28.4</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_regex<char> regex;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_regex<wchar_t> wregex;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_regex<char16_t> u16regex;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+basic_regex<char32_t> u32regex;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<const char*> csub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<const wchar_t*> wcsub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<const char16_t*> u16csub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<const char32_t*> u16csub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<string::const_iterator> ssub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<wstring::const_iterator> wssub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<u16string::const_iterator> u16ssub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+sub_match<u32string::const_iterator> u32ssub_match;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<const char*> cmatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<const wchar_t*> wcmatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<const char16_t*> u16cmatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<const char32_t*> u32cmatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<string::const_iterator> smatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<wstring::const_iterator> wsmatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<u16string::const_iterator> u16smatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+match_results<u32string::const_iterator> u32smatch;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<const char*> cregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<const wchar_t*> wcregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<const cha16r_t*> u16cregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<const char32_t*> u32cregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<string::const_iterator>
+sregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<wstring::const_iterator>
+wsregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<u16string::const_iterator>
+u16sregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_iterator<u32string::const_iterator>
+u32sregex_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<const char*>
+cregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<const wchar_t*>
+wcregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<const char16_t*>
+u16cregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<const char32_t*>
+u32cregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<string::const_iterator>
+sregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<wstring::const_iterator></font><font size="2"
+style="font-size: 9pt" face="Arial, sans-serif"><span lang=
+"zxx">   </span></font><font size="2" style=
+"font-size: 9pt">wsregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<u16string::const_iterator>
+u16sregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in">
+ <font size="2" style="font-size: 9pt">typedef
+regex_token_iterator<u32string::const_iterator></font><font size="2"
+style="font-size: 9pt" face="Arial, sans-serif"><span lang=
+"zxx"> </span></font><font size="2" style=
+"font-size: 9pt">u32sregex_token_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+144</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">List of
+contents of library should be extened to cover new clauses</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add "regular
+expressions, atomic operations and threads"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+145</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><span lang="en-US">Summary of numeric
+facilities should mention random numbers</span></font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add random
+number framework to the list of library facilities</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+146</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a summary
+paragraph for regular expressions</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a summary
+paragraph for regular expressions</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+147</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a summary
+paragraph for threads</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a summary
+paragraph for threads</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+148</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Table 12 is mentioned in and relates to section
+17.2, but has been pushed down to appear directly after the title
+of section 17.3 which is rather unfortunate/confusing for the
+reader.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Make sure
+tables are rendered in the section to which they relate.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+149</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">For consistency with narrow-oriented and
+wide-oriented streams, we should add terms for streams of Unicode
+character sequences</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Define
+Utf16-oriented stream classes and Uft32-oriented stream classes for
+streams of char16_t/char32_t values.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+150</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The addition
+of move semantics to the language means that many library APIs
+leave an object in a safely-destructible state, where no other
+operations can safely be performed unless it is assigned a new
+value. Library presentation would be simplified and made more
+precise if we introduce a term for this state. By analogy with
+singular iterators suggest the term 'singular object' or 'the
+object is in a singular state'.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Define 'singular state' such that an object with a
+singular state can only be assigned to or safely destroyed.
+Assiging a new value typically removes the singular state. Note
+that objects with a singular state may not be safely copied, so you
+cannot put an object into a singular state by copying another
+object in a singular state. Use this new term in the postcondition
+of all library APIs that move from an rvalue reference. It might
+also be used to simplify the definition of singular iterator to an
+iterator value with a singular state.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+151</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Missing crossreference to 17.3.17
+[defns.repositional.stream]</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+cross-reference in the existing empty brackets</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+152</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.12</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Object state is using a definition of object
+(instance of a class) from outside the standard, rather than the
+'region of storage' definiton in 1.8p1</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify terms
+and usage</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+153</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.17</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">If a repositional stream can only seek to a
+position previously encountered, then an
+arbitrary-positional-stream cannot satisfy this definition, as
+cross-referenced in 17.3.17</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+word 'only'. A note might be added to reinforce the intent</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK<br>
+154</font>
+<p><br>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.20</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Missing
+definition of a stable partition algorithm</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+definition from 25.2.12p7</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+155</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add clause 28
+to list that use this definition of character</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add clause 28
+to list that use this definition of character</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+156</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.3.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add regular expressions to set of templates using
+character container type</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add regular
+expressions to set of templates using character container
+type</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+157</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add concepts to the ordered list of
+presentation</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add concepts
+into the sequence</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+158</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">templates are
+neither classes nor functions</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace 'classes' and 'functions' with 'classes
+and class templates' and 'functions and function templates'</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+159</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Footnote
+152</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This informative footnote was relevant in 1998,
+not 2008. The term 'existing vendors' may imply something different
+now</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+footnote, or replace 'existing' with 'original' or similar</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+160</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">requires is now a keyword with a specific meaning
+related to concepts, and its use in library specifcation may be
+confusing. Generally the Requires clause is used to make
+requirements on the caller, not the library, so typically providing
+runtime pre-conditions. Suggest a new name to refflect that. Note
+that Clause 30 already seems to be written to this
+convention.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+'Requires' with 'Preconditions'</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+161</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This paragraph is redundant as the definition of
+the term 'handler function' is already provided in 17.3. Are we in
+danger of proving two definitions of the same terms? Which is the
+'controlling' definition?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike
+17.5.2.4p4</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+162</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Clause 30 makes use of a 'Synchronization'
+semantic element, that frequently appears either between Effects:
+and Postconditions:, or between Returns: and Throws:</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+'Synchronization' to the list either between Effects: and
+Postconditions:, or between Returns: and Throws:.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+163</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Many functions are defined as "Effects: Equivalent
+to a...", which seems to also define the preconditions, effects,
+etc. But this is not made clear.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Introduce an
+explicit "Equivalent to", which defines all of the properties of
+the function.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+164</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.3.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This phrasing
+predates concepts. While this kind of description is still used,
+the examples provided are now all concepts, and should be replaced
+with appropriate examples</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Use better names for the examples. Ideally totally
+replace the need by constraining all templates in library, so that
+real concepts are all that is needed. Note if retained that
+CopyConstructible is mis-spelled.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+165</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.5.3.2.2, 17.5.3.2.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">constraints on bitmask and enumation types were
+supposed to be tightened up as part of the motivation for the
+constexpr feature - see paper n2235 for deails</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Adopt wording
+in line with the motivation described in N2235</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+166</font>
+<td>
+<p align="justify" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">17.5.3.2.4.1, 17.5.3.3</font>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">List of
+library clauses should go up to 30, not 27</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+initial refernce to ch27 with ch30</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+167</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">17.5.3.4
+Private members</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Comment
+marker in wrong place.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Change: // streambuf* sb; exposition only to
+streambuf* sb; // exposition only To reflect actual usage.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+168</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">We should make it clear (either by note or
+normatively) that namespace std may contain inline namespaces, and
+that entities specified to be defined in std may in fact be defined
+in one of these inline namespaces. (If we're going to use them for
+versioning, eg when TR2 comes along, we're going to need
+that.)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+"namespace std or namespaces nested within namespace std" with
+"namespace std or namespaces nested within namespace std or inline
+namespaces nested directly or indirectly within namespace
+std"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+169</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This phrasing contradicts later freedom to
+implement the C standard library portions in the global namespace
+as well as std. (17.6.2.3p4)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Resolve
+conflict in either place</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+170</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">One of goals of C++0x is to make language easier
+to teach and for 'incidental' programmers. The fine-grained headers
+of the C++ library are valuable in large scale systems for managing
+dependencies and optimising build times, but overcomplicated for
+simple development and tutorials. Add additional headers to support
+the whole library through a single include statement.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a new
+header <std> that has the effect of including everything in
+tables 13 and 14, except <iosfwd> and <cassert>. Add an
+additional header <fwd> that adds all declarations from
+<std> but no definitions.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+171</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Does freestanding implementation require a full
+implementation of all listed headers? The reference to abort,
+at_exit and exit is confusing. Is a conforming implementation allow
+to deliver partial forms of these headers? If so which ones? Are
+empty versions of everything but <cstdlib> conforming?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either strike
+the references to abort, at_exit and exit, or clarify which headers
+only require partial support.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+172</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">No reference to new functions quick_exit and
+at_quick_exit</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add reference
+to quick_exit and at_quick_exit</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+173</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.2.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">table
+15</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt"><initializer_list> is missing from headers
+required in freestanding implementations.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add 18.8,
+initializer lists, <initializer_list>, to the end of the
+table.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 23</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">17.6.2.4</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Table 15</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">There is a freestanding implementation including
+<type_traits>, <array>, <ratio>, lately added to
+Table 13, C++ library headers.<br>
+Programmers think them useful and hope that these headers are also
+added to Table 15, C++ headers for freestanding implementations,
+that shows the set of headers which a freestanding implementation
+shall include at least.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add <type_traits>, <array>,
+<ration> to Table 15.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+174</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.3.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The phrasing is mildly ambiguous when using the
+word 'it' to refer back to the header - an unfotunate reading might
+confuse it with the translate unit, which is the subject of the
+surrounding clause.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace 'the
+first reference to any of the entities declared in that header by
+the translation unit' with 'the first reference to any of the
+entities that header declares in the translation unit'</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+175</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.4.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Local types can now be used to instantiate
+templates, but don't have external linkage</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the
+reference to external linkage</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+176</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.4.3.3</font>
+<td>
+<p align="justify" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Footnote 175</font>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Reference to
+namespace ::std should be 17.6.4.2</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+referfence from 17.6.4.3 to 17.6.4.2</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+177</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.4.3.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Sentence is redundant as double underscores are
+reserved in all contexts by 17.6.4.3.3</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+sentence</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+178</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.4.8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The last
+sentence of the third bullet "Operations on such types can report a
+failure by throwing an exception unless otherwise specified" is
+redundant as behaviour is already undefined.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+sentence</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+179</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.4.8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">According to the 4th bullet there is a problem if
+"if any replacement function or handler function or destructor
+operation throws an exception". There should be no problem throwing
+exceptions so long as they are caught within the function.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace the
+word 'throws' with 'propogates'</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 22</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">17.6.5.7</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The statement below describes relation
+among two or more threads using words “between
+threads”:<br>
+[Note: This means, for example, that implementations can’t
+use a static object for internal purposes without synchronization
+because it could cause a data race even in programs that do not
+explicitly share objects between threads. —end note ]</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">In such case, “among” is
+preferred instead of “between”.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Change "between threads" to "among
+threads".</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There are same cases in 17.6.1 paragraph
+2, 17.6.5.7 paragraph 6, 30.1 paragraph 1, 30.3.1 paragraph 1
+also.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+180</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.5.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1,
+4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It should not be possible to strengthen the
+exception specification for virtual functions as this could break
+user code. Note this is not a problem in practice as there are no
+virtual functions with exception specifications in the current
+library, other than empty throw specifications which it is not
+possible to strengthen.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+restriction that exception specification of virtual functions
+cannot be tightened.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+181</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.5.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Footnote
+186</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This footnote is wrong. C library functions do not
+have any exception specification, but might be treated as if they
+had an empty throw specification</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify that
+this note does not mean the functions are genuinely declared with
+the specification, but are treated as-if.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+182</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">17.6.5.10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Footnote
+188</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is very helpful to assume all exceptions thrown
+by the standard library derive from std::exception. The
+'encouragement' of this note should be made normative.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Make this
+footnote normative</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+184</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">18 ->
+30</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The new alias-declaration syntax is generally
+easier to read than a typedef declaration. This is especially true
+for complex types like function pointers.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace all
+typedef declarations in the standard library with
+alias-declarations, except in the standard C library.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 24</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Table 16</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Subclauses are listed in Table 16
+as:</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">"18.6 Type identification …"</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">"18.8 Initializer lists …"</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-top: 0.04in"><font size="2" style=
+"font-size: 9pt">"18.7 Exception handling …".</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.06in; text-indent: -0.06in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">Sort them in the increasing
+order<br>
+"18.6 Type identification …"</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">"18.7 Exception handling …".</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">"18.8 Initializer lists
+…"</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 25</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.1</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph , last line, SEE ALSO</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">max_align_t is described in 18.1, so add
+3.11 Alignment as the reference.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Add "<u>3.11, Alignment</u></font><font size="2"
+style="font-size: 9pt" color="#000000">" to</font> <font size="2"
+style="font-size: 9pt">SEE ALSO.</font></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 32</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">18.2.1 [Numeric limits]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The definition of numeric_limits<>
+as requiring a regular type is both conceptually wrong and
+operationally illogical. As we pointed before, this mistake needs
+to be corrected. For example, the template can be left
+unconstrained. In fact this reflects a much more general problem
+with concept_maps/axioms and their interpretations. It appears that
+the current text heavily leans toward experimental academic type
+theory.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">We suggest that a more pragmatic approach, in
+the spirit of C and C++, be taken so that calls to constrained
+function templates are interpreted as assertions on *values*, not
+necessarily semantics assertions on the carrier type.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-16</font>
+<td>
+<p><font size="2" style="font-size: 9pt">18.2.1</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-16 The class template
+<font face="Arial, sans-serif">numeric_limits</font> should not
+specify the <font face="Arial, sans-serif">Regular</font> concept
+requirement for its template parameter, because it contains
+functions returning NaN values for floating-point types; these
+values violate the semantics of <font face=
+"Arial, sans-serif">EqualityComparable</font>. See also library
+issue 902 in WG21 document N2794 "C++ Standard Library Active
+Issues List (Revision R60)", available at
+http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2794.html
+.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Specify a concept
+requirement with fewer constraints as appropriate, for example
+<font face="Arial, sans-serif">SemiRegular</font>.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 26</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.2.1.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">numeric_limits does not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class T> class
+numeric_limits<const T>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class T> class
+numeric_limits<volatile T>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class T> class
+numeric_limits<const volatile T>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>Regular</u> T> class
+numeric_limits<const T>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>Regular</u> T> class
+numeric_limits<volatile T>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>Regular</u> T> class
+numeric_limits<const volatile T>;</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-17</font>
+<td>
+<p><font size="2" style="font-size: 9pt">18.2.6</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-17 The class <font face=
+"Arial, sans-serif">type_index</font> should be removed; it
+provides no additional functionality beyond providing appropriate
+concept maps.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Specify concept maps for
+"const type_info *" as required by the ordered and unordered
+containers and remove the class <font face=
+"Arial, sans-serif">type_index</font>.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+185</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is no header <stdint>, it should
+either be <stdint.h> or <cstdint></font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+<stdint> with <cstdint></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-18</font>
+<td>
+<p><font size="2" style="font-size: 9pt">18.4</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-18 The proposed C++
+standard makes a considerable number of existing programs that have
+well-defined behavior according to ISO/IEC 14882:2003 have
+undefined behavior without a diagnostic hint to the programmer at
+all. This applies to the presence of threads and to pointer safety
+(the latter was introduced to support garbage collection). In order
+to avoid requiring a full code review for user code, facilities
+should be present that allow the compile-time detection of the
+advanced features of the proposed C++ standard. It is expected that
+C++ implementations will provide a means (for example, a
+command-line switch) to turn off either or both of threads and
+garbage collection support, turning potentially undefined programs
+into well-defined ones.<br>
+<i>Note:</i> This issue is contributing significantly to Germany's
+overall “no” vote.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Consider applying the
+changes proposed in WG21 document N2693 "Requirements on programs
+and backwards compatibility", available at
+http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2693.html
+.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+186</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Footnote
+221</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">What is the purpose of this comment? The standard
+stream objects (cin, cerr etc.) have a peculiar lifetime that
+extends beyond the program. They may never be destroyed so will not
+be responsible for flushing buffers at the stated time.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the
+footnote</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+187</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The term "thread safe" is not defined nor used in
+this context anywhere else in the standard.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify the
+intended meaing of "thread safe"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+188</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The function _Exit does not appear to be defined
+in this standard. Should it be added to the table of functions
+included-by-reference to the C standard?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Depends on
+where _Exit comes from</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+189</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">18.4,
+18.7</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The addition
+of the [[noreturn]] attribute to the language will be an important
+aid for static analysis tools.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The following functions should be declared in C++
+with the [[noreturn]] attribute: abort exit quick_exit terminate
+unexpected rethrow_exception throw_with_nested</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 27</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.4, 18.9, 18.7.2.2, 18.7.3.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There are Standard library functions
+that never return to the caller. They are explained so in the
+Standard but not declared explicitly.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Consider to add the attribute
+[[noreturn]] to such functions,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">15.5.2 unexpected<br>
+18.4: abort(), exit(), quick_exit,<br>
+18.7.2.2: unexpected_handler,<br>
+18.7.3.1: terminate_handler,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">18.7.6 rethrow_nested</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">18.7.6 throw_with_nested<br>
+18.9: longjmp.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+190</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.5.1</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">various</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">It is not
+entirely clear how the current specification acts in the presence
+of a garbage collected implementation.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">All deallocation functions taking a pointer
+parameter should have a Precondition : ptr is a safely-derived
+pointer value.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+191</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">According to
+the second bullet, behaviour becomes undefined (for lack of a
+specification) if the user has not yet called
+set_new_handler.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Rephrase the second bullet in terms of a new
+handler being installed, and update any definition of handler
+function necessary to be sure the term 'installed' is
+defined.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+192</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.5.1.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The declared signature is not compatible with the
+current requirement to throw std::length_error. It is too late to
+weaken the exception specification, so the only other change is to
+preserve new (improved) behaviour is to throw std::bad_alloc, or
+something derived from std::bad_alloc.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Fix 5.3.4p7
+by required std::bad_alloc rather than std::length_error</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+193</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.5.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">quick_exit has been added as a new valid way to
+terminate a program in a well defined way</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change 3rd
+bullet: call either abort(), exit() or quick_exit();</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+194</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The inclusion of type_index and
+hash<type_index> in <typeinfo> brings dependencies into
+<typeinfo> which are inconsistent with the definition of
+freestanding C++ in 17.6.2.4.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move
+type_index and hash<type_index> out of <typeinfo> and
+into a new header, <typeindex>.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 28</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.6, 18.7, 19.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Errors reported by Exception classes are
+of types char or std::string only. For example, std::exception is
+declared with char, std::string types, therefore types
+wchar_t/wstring, char16_t/u16string, or char32_t/u32string can not
+be used.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Consider other types.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 29</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.7.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">throw_with_nested does not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class T> void
+throw_with_nested(T&& t); // [[noreturn]]</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<CopyConstructible T> void
+throw_with_nested(T&& t); // [[noreturn]]</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 30</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.7.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">To handle nested exceptions strictly,
+error information of tree structure will be required though, the
+nested_exception does not support tree structure. It is
+insufficient as error handling.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Consider nested_exception to support
+tree structure.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 31</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">18.7.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">It is difficult to understand in which
+case nested_exception is applied.</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Consider to add a sample program which rethrows
+exception.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+195</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.8</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The class definition of std::initializer_list
+contains concept-maps to Range which should be out of the class,
+and in <iterator_concepts> instead. Otherwise, it's not
+possible to use initializer_lists in a freestanding C++
+implementation.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Delete the
+two concept maps from std::initializer_list.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+196</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">18.8.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Concept maps
+for initializer_list to Range should not be in language support
+headers, but instead in iterator concepts.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Remove section 18.8.3 and put it in 24.1.8.1
+instead, so that the concept_maps from initializer_list to Range
+are specified under Range instead of under initializer lists; also,
+so that they're implemented in <iterator_concepts> instead of
+<initializer_list>.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+197</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">19</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">All the
+exception classes in this clause take a std::string argument by
+const reference. They should all be overloaded to accept
+std::string by rvalue rerefence for an efficient move as
+well.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Provide a constructor for every exception class in
+clause 19 accepting a std::string by rvalue reference, with the
+semantics that the passed string may be moved.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 32</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">19.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Messages returned by the member function
+what() of standard exception classes seem difficult to
+judge.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">For example, following messages are
+returned by what() of std::bad_alloc of existing
+implementations:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Compiler: Message returned by
+what()</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">---------------------------------------------</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Borland C++ 5.6.4: no named exception
+thrown</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Visual C++ 8.0: bad allocation</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Code Warrior 8.0: exception</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">g++ 3.4.4: St9exception</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">It is difficult to recognize what exception was
+thrown when using those compilers except Visual C++.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Consider to add footnote that recommends
+what() returns message easy to recognize what exception was
+thrown.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 64</font>
+<td>
+<p><font size="2" style="font-size: 9pt">19.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p><font color="#000000">“</font> <font size="2" style=
+"font-size: 9pt">See also: ISO C 7.1.4, 7.2, Amendment 1
+4.3.</font><font size="2" style="font-size: 9pt" color=
+"#000000">” It is unclear why this cross reference is here.
+Amendment 1 was to C89, not C99.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Delete this cross reference.
+If necessary, expand the main text to include the relevant
+referenced text</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 65</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Scoped allocators and allocator propagation traits
+add a small amount of utility at the cost of a great deal of
+machinery. The machinery is user visible, and it extends to library
+components that don't have any obvious connection to allocators,
+including basic concepts and simple components like pair and
+tuple.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Sketch of proposed resolution: Eliminate
+scoped allocators, replace allocator propagation traits with a
+simple uniform rule (e.g. always propagate on copy and move),
+remove all mention of allocators from components that don't
+explicitly allocate memory (e.g. pair), and adjust container
+interfaces to reflect this simplification.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Components that I propose eliminating
+include</font> <font size="2" style="font-size: 9pt" color=
+"#0000FF"><span style=
+"background: #ffffce">HasAllocatorType</span></font><font color=
+"#000080"><u><a href=
+"http://wiki.corp.google.com/twiki/bin/edit/Main/HasAllocatorType?topicparent=Main.CppStandardIssues">
+<font size="2" style=
+"font-size: 9pt">?</font></a></u></font><font size="2" style=
+"font-size: 9pt">, is_scoped_allocator, allocator_propagation_map,
+scoped_allocator_adaptor, and</font> <font size="2" style=
+"font-size: 9pt" color="#0000FF"><span style=
+"background: #ffffce">ConstructibleAsElement</span></font><font color="#000080">
+<u><a href=
+"http://wiki.corp.google.com/twiki/bin/edit/Main/ConstructibleAsElement?topicparent=Main.CppStandardIssues">
+<font size="2" style=
+"font-size: 9pt">?</font></a></u></font><font size="2" style=
+"font-size: 9pt">.</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+198</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">20</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+organization of clause 20 could be improved to better group related
+items, making the standard easier to navigate.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">20.6.7, 20.6.8, 20.6.9 and 20.6.10 should be
+grouped under a section called "operator wrappers" or similar. The
+goal of all 4 subsections combined is to provide a functor for
+every operator in the language. 20.6.17 class template hash should
+numerically appear immediately after the operator wrappers, as they
+are functors that are used in similar ways 20.6.11, 20.6.12,
+20.6.13, 20.6.14, 20.6.15 are strongly related to 20.6.3, and to an
+extent 20.6.2. These should all come under a subheading of
+"function adapters" 20.7.1, 20.7.3, 20.7.4, 20.7.5, 20.7.6, 20.7.7
+and 20.7.10 should all be grouped as subclauses under [20.7.2
+Allocators] [20.7.12 unique_ptr] should be a sub-section of
+[20.7.13 smart pointers] [20.7.13 smart pointers] is important
+enough to have a high level bullet after [20.7 memory], suggest
+renumbering as [20.8 smart pointers] [20.7.13.7 Pointer safety] is
+nothing to do with smart pointers and should become its own
+subclause [20.7.14 Pointer safety] [20.9 date and time functions]
+should be moved under [20.8 time utilities] and retitled [20.8.6 C
+Library] (as per memory management/C Library) [20.6.18
+reference_closure] is fundamentally a language support feature and
+should move to clause 18, see separate comment [20.6.5
+reference_wrapper] should be simplified and moved into [2.2 utility
+components], see separate comment [20.6.4 result_of] should be
+reorganised as a type trait - see separate comment Tuples and pairs
+are closely related so merge tuple and pair into the same subclause
+- see more general comment on this</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+199</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">20.1.1,
+20.1.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The requirement that programs do not supply
+concept_maps should probably be users do not supply their own
+concept_map specializations. THe program will almost certainly
+supply concept_maps - the standard itself supplies a specialization
+for RvalueOf? references. Note that the term _program_ is defined
+in 3.5p1 and makes no account of the standard library being treated
+differently to user written code.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace the
+term 'program' with 'user'.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+200</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.1.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">All standard
+library use expects Predicates to be CopyConstructible, and this
+should be recognised easily without reatedly stating on every
+use-case.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Either require CopyConstructible<F> as part
+of Predicate, or create a refined concept, StdPredicate, used
+throughout the library that requires CopyConstructible as well as
+Callable. Consider making (Std)Predicate SemiRegular.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+201</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+Consistency axiom for LessThanComparable will not compile.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a requires clause to the Consistency axiomL
+requires HasLessEquals<T> &&
+HasGreaterEquals<T>, or split the Consistency axiom into two
+so that 'basic' consistency can be asserted regardless of the
+<=/>= requirement.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 33</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.1.5</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">LessThanComparable and
+EqualityComparable don't correspond to NaN.</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Apply concept_map to these concepts at
+FloatingPointType</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 66</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.1.10</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Application of the
+"Regular" concept to floating-point types appears to be
+controversial (see long discussion on std-lib reflector).</font>
+<td>
+<p><font size="2" style="font-size: 9pt">State that the
+“Regular” concept does not apply to floating-point
+types.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 34</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.2</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Though N2672 pointed at adding
+"#include<initializer_list>", it isn't reflected.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">add followings</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">#include <initializer_list> // for
+concept_map</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 67</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.2.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">¶ 5 first
+sent.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Some connective words are
+missing.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Insert
+“corresponding to” before “an lvalue reference
+type.”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 35</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.2.3</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo,</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">"stdforward" should be "std::forward"</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Correct typo.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+202</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.2.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The references to pair in the tuple-like access to
+pair functions qualify pair with std::pair even though they are in
+a namespace std block.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the
+std:: qualification from these references to pair.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 68</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.2.12</font>
+<td>
+<p><font size="2" style="font-size: 9pt">IntegralLike</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te/ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The code defining the
+context is syntactically incorrect.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Insert a comma in two
+places: at the end of the third line of refinements, and at the end
+of the fourth line of refinements.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+203</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.3.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1-4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The ratio_xyz types have a misplaced '}'. For
+example: template <class R1, class R2> struct ratio_add {
+typedef see below} type; ;</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the '}'
+to after the typedef: template <class R1, class R2> struct
+ratio_add { typedef see below type; };</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 36</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.4.2.1</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">19</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">"it it" should be "it is"</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Correct typo.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+204</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+41</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is not possible to create a variant union based
+on a parameter pack expansion, e.g. to implement a classic
+discriminated union template.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Restore
+aligned_union template that was removed by LWG issue 856.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 69</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.5</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">This section, dealing with
+tuple<>, should be in the same section as the similar utility
+pair<>.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Restructure Clause 20 so
+as to bring these similar components together.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+205</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.5.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">integral_constant objects should be usable in
+integral-constant-expressions. The addition to the language of
+literal types and the enhanced rules for constant expressions make
+this possible.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+constexpr conversion operator to class tempalate integral_constant:
+constexpr operator value_type() { return value; }</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+206</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.5.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">para
+4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Currently the std says: "In order to instantiate
+the template is_convertible<From, To>, the following code
+shall be well formed:" But the code shown is the requirement for
+the result of is_convertible to be a true_type, not a precondition
+on whether the template can be instantiated.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change: "In
+order to instantiate the template is_convertible<From, To>,
+the following code shall be well formed:" To: "The template
+is_convertible<From, To> inherits either directly or
+indirectly from true_type if the following code is well
+formed:"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+207</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.5.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+36</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">suffix
+"::type" is missing from the some of the examples.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Change: Example:remove_const<const volatile
+int>::type evaluates to volatile int, whereas
+remove_const<const int*> is const int*. —end example
+To: Example:remove_const<const volatile int>::type evaluates
+to volatile int, whereas remove_const<const int*>::type is
+const int*. —end example And change:
+Example:remove_volatile<const volatile int>::type evaluates
+to const int, whereas remove_volatile<volatile int*> is
+volatile int*. —end example To:
+Example:remove_volatile<const volatile int>::type evaluates
+to const int, whereas remove_volatile<volatile int*>::type is
+volatile int*. —end example And change:
+Example:remove_cv<const volatile int>::type evaluates to int,
+whereas remove_cv<const volatile int*> is const volatile
+int*. —end example To: Example:remove_cv<const volatile
+int>::type evaluates to int, whereas remove_cv<const volatile
+int*>::type is const volatile int*. —end example</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 37</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.5.7</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Table 41</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.19in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There isn't a period at the end of enable_if's
+comments.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">If B is true, the member typedef type
+shall equal T; otherwise, there shall be no member typedef
+type</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">If B is true, the member typedef type
+shall equal T; otherwise, there shall be no member typedef
+type.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add ”.”</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 70</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.6</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Specifications now
+expressed via narrative text are more accurately and clearly
+expressed via executable code.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Wherever concepts are
+available that directly match this section’s type traits,
+express the traits in terms of the concepts instead of via
+narrative text. Where the type traits do not quite match the
+corresponding concepts, bring the two into alignment so as to avoid
+two nearly-identical notions.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 71</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.6.7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Table 51, last row, column
+3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The grammar is
+incorrect.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change “conversion
+are” to “conversion is”.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 38</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.6.12.1.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.19in; text-indent: -0.19in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">add the move requirement for
+bind's return type.<br></font><br>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.19in; text-indent: -0.19in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">For example, assume following
+th1 and th2,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><br>
+void f(vector<int> v) { }<br>
+<br>
+vector<int> v{ ... };<br>
+thread th1([v]{ f(v); });<br>
+thread th2(bind(f, v));<br>
+<br>
+When function object are set to thread, v is moved to th1's lambda
+expression in a Move Constructor of lambda expression becuase th1's
+lambda expression has a Move Constructor. But bind of th2's return
+type doesn't have the requirement of Move, so it may not moved but
+copied.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add the requirement of move to get rid
+of this useless copy.</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">And also, add the MoveConstructible as well as
+CopyConstructible.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Add the following requirements.<br>
+"</font><font size="2" style="font-size: 9pt" color="#000000">it
+has a public move constructor that performs a member-wise
+move."</font></font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add the MoveConstructible.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 39</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.6.16.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There are no requires corresponding to F
+of std::function.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator A>
+function(allocator_arg_t, const A&, F);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator A>
+function(allocator_arg_t, const A&, F&&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator
+A></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">function(allocator_arg_t, const A&,
+F);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator
+A></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">function(allocator_arg_t, const A&,
+F&&);</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 40</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.6.16.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Thougn it's "Allocator Aloc" at other
+places, it's "Allocator A" only std::function constructor template
+parameter.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator A>
+function(allocator_arg_t, const A&, F);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator A>
+function(allocator_arg_t, const A&, F&&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class F, Allocator
+<u>Alloc</u>> function(allocator_arg_t, const <u>Alloc</u>
+&, F);</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">template<class F, Allocator <u>Alloc</u>>
+function(allocator_arg_t, const <u>Alloc</u> &,
+F&&);</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 41</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.6.16.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There are no requires corresponding to R
+and Args of UsesAllocator.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class R, class...
+Args></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">concept_map
+UsesAllocator<function<R(Args...)>, Alloc> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef Alloc allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... Args></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">concept_map
+UsesAllocator<function<R(Args...)>, Alloc> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef Alloc allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">}</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 42</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.6.16.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">The requires are wrong.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">R require Returnable, and ArgTypes
+requires CopyConstructible by a definition of function, then it's a
+mistake to designate followings by MoveConstructible.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <MoveConstructible R,
+MoveConstructible... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(const
+function<R(ArgTypes...)>&, nullptr_t);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <MoveConstructible R,
+MoveConstructible... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(nullptr_t, const
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <MoveConstructible R,
+MoveConstructible... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(const
+function<R(ArgTypes...)>&, nullptr_t);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <MoveConstructible R,
+MoveConstructible... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(nullptr_t, const
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <MoveConstructible R,
+MoveConstructible... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void
+swap(function<R(ArgTypes...)>&,
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(const
+function<R(ArgTypes...)>&, nullptr_t);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(nullptr_t, const
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(const
+function<R(ArgTypes...)>&, nullptr_t);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... ArgTypes></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(nullptr_t, const
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <<u>Returnable</u> R,
+<u>CopyConstructible</u>... ArgTypes></font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">void swap(function<R(ArgTypes...)>&,
+function<R(ArgTypes...)>&);</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+208</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.6.17</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">std::hash should be implemented for much more of
+the standard library. In particular for pair, tuple and all the
+standard containers.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+209</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Smart
+pointers cannot be used in constrained templates</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Provide constraints for smart pointers</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+213</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">std::allocator should be constrained to simplify
+its use on constrained contexts. This library component models
+allocation from free store via the new operator so choose
+constraints to match. The Allocator concept allows for a wider
+variety of allocators that users may choose to supply if their
+allocation model does not require operator new, without impacting
+the requirements of this template.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The primary
+allocator template should be constrained to require
+ObjectType<T> and FreeStoreAllocatable<T>. Further
+operations to be constrained as required.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+214</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7.8</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">raw_storage_iterator needs constraining as an
+iterator adaptor to be safely used in constrained templates</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Constrain the
+raw_storage_iterator template</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+210</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7.11</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Specialized
+algorithms for memory managenment need requirements to be easily
+usable in constrained templates</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Provide constraints for all algorithms in
+20.7.11</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-20</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.7.12</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-20 The section heading
+and the first sentence use the term "template function", which is
+undefined.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Replace "template function"
+by "function template".</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 72</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.7.12</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bind should support move-only functors
+and bound arguments.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-21</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.7.12.1.3</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-21 The specification
+for bind claims twice that "the values and types for the bound
+arguments v1, v2, ..., vN are determined as specified below". No
+such specification appears to exist.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Add the missing
+specification in the same section, or add a cross-reference
+indicating the section where the specification appears.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+211</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7.12.2.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The nullptr_t type was introduced to resolve the
+null pointer literal problem. It should be used for the assignemnt
+operator, as with the constructor and elsewhere through the
+library.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+signature here and in the synopsis to: unique_ptr&
+operator=(nullptr_t); Strike the sentance an note before the
+Effects clause.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+212</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.7.13.7</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The pointer-safety API is nothing to do with smart
+pointers, so does not belong in 20.7.13. In fact it is a set of
+language support features are really belongs in clause 18, with the
+contents declared in a header that deals with language-support of
+memory management.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move this
+specification to 18.5. Move the declarations into the header
+<new>.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-22</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.7.16.2</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">DE-22 The conditions for
+deriving from std::unary_function and std::binary_function are
+unclear: The condition would also be satisfied if ArgTypes were
+std::vector<T1>, because it (arguably) "contains" T1.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Consider stating the
+conditions in normative prose instead of in comments in the class
+definition. Use "consists of" instead of "contains". Consider using
+"if and only if" instead of "iff".</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 73</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">20.7.18</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">The
+std::reference_closure template is redundant with std::function and
+should be removed.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">std::reference_closure is
+a premature optimization that provides a limited subset of the
+functionality of std::function intended to improve performance in a
+narrow use case. However, the “parallel application
+performance” benchmark used to motivate the inclusion of
+std::reference_closure was flawed in several ways:</font>
+<ol start="3">
+<li>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">it failed to enable a
+common optimization in std::function (implemented by all vendors),
+exacting a large and unrealistic penalty for copying std::function
+instances, and</font>
+<li>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">it failed to account for
+parallel scheduler overhead or realistically-sized work units, both
+of which would dominate the costs measured by the benchmark in any
+realistic application.</font></ol>
+<p align="left" style="margin-left: 0.25in"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.7.18
+[func.referenceclosure].</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Remove 5.1.1 paragraph 12.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 74</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">20.8</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Scoped allocators
+represent a poor trade-off for standardization, since (1)
+scoped-allocator--aware containers can be implemented outside the
+C++ standard library but used with its algorithms, (2) scoped
+allocators only benefit a tiny proportion of the C++ community
+(since few C++ programmers even use today’s allocators), and
+(3) all C++ users, especially the vast majority of the C++
+community that won’t ever use scoped allocators are forced to
+cope with the interface complexity introduced by scoped allocators.
+In essence, the larger community will suffer to support a very
+small subset of the community who can already implement their own
+data structures outside of the standard library. Therefore, scoped
+allocators should be removed from the working paper.</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Some evidence of the
+complexity introduced by scoped allocators:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">20.3.3, 20.5: large
+increase in the number of pair and tuple constructors</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">23: confusing
+“AllocatableElement” requirements throughout.</font>
+<p align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove support for scoped
+allocators from the working paper. This includes at least the
+following changes:</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.8.3
+[allocator.element.concepts]</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.8.7
+[allocator.adaptor]</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.8.10
+[construct.element]</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">In Clause 23: replace
+requirements naming the AllocatableElement concept with
+requirements naming CopyConstructible, MoveConstructible,
+DefaultConstructible, or Constructible, as appropriate.</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 74</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.8.2.2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">(a) synopsis (b) after
+¶ 14</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te/ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">A concept name is twice
+misspelled.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change
+“Hasconstructor” to “HasConstructor”
+(twice).</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 75</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.8.2.2</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Allocator concepts are
+incomplete</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">See paper:
+http://www.halpernwightsoftware.com/WG21/n2810_allocator_defects.pdf>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 43</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.8.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">"alloc" should be "Alloc"</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">auto concept UsesAllocator<typename
+T, typename Alloc> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">requires Allocator<alloc>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typename allocator_type =
+T::allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">auto concept UsesAllocator<typename
+T, typename Alloc> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">requires
+Allocator<<u>Alloc</u>>;</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">typename allocator_type =
+T::allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+215</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">20.8.3.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6,8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Extra pair of {}, presumably some formatting code
+gone awry : duration& operator-{-}();</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the {}
+or fix formatting</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 77</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">20.8.4</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Allocator-specific move
+and copy behavior for containers (N2525) complicates a little-used
+and already-complicated portion of the standard library
+(allocators), and breaks the conceptual model of move-constructor
+and move-assignment operations on standard containers being
+efficient operations. The extensions for allocator-specific move
+and copy behavior should be removed from the working paper.</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">With the introduction of
+rvalue references, we are teaching programmers that moving from a
+standard container (e.g., a vector<string>) is an efficient,
+constant-time operation. The introduction of N2525 removed that
+guarantee; depending on the behavior of four different traits
+(20.8.4), the complexity of copy and move operations can be
+constant or linear time. This level of customization greatly
+increases the complexity of standard containers, and benefits only
+a tiny fraction of the C++ community.</font>
+<p align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.8.4.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Remove 20.8.5.</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Remove all references to the facilities in
+20.8.4 and 20.8.5 from clause 23.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 78</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.8.12, 20.8.13.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style="font-size: 9pt">There is
+presently no way to convert directly from a</font>
+<code><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">shared_ptr</font></code> <font size="2" style=
+"font-size: 9pt">to a</font> <code><font size="2" style=
+"font-size: 9pt" face=
+"Arial, sans-serif">unique_ptr</font></code><font size="2" style=
+"font-size: 9pt">.</font></font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Add an interface that performs the conversion. See
+the attached, Issues with the C++ Standard" paper under Chapter 20,
+"Conversion from</font> <code><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">shared_ptr</font></code> <font size="2"
+style="font-size: 9pt">to</font> <code><font size="2" style=
+"font-size: 9pt" face=
+"Arial, sans-serif">unique_ptr".</font></code></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 79</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.8.12.2.1</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">[unique.ptr.single.ctor]/5 no longer
+requires for D not to be a pointer type.  This restriction
+needs to be put back in.  Otherwise we have a run time failure
+that could have been caught at compile time:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">unique_ptr<int, void(*)(void*)>
+p(malloc(sizeof(int)));  // should not compile</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">unique_ptr<int, void(*)(void*)>
+p(malloc(sizeof(int)), free);  // ok</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 44</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.8.13.6</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The 1st parameter p and 2nd parameter v
+is now shared_ptr<T> *.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">It should be shared_ptr<T>&,
+or if these are shared_ptr<T>* then add the "p shall not be a
+null pointer" at the requires.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Change shared_ptr<T>& or add
+the "p shall not be a null pionter" at the requires.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 45</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.9</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Rep, Period, Clock and Duration don't
+correspond to concept.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class Rep, class Period =
+ratio<1>> class duration;</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">template <class Clock, class Duration =
+typename Clock::duration> class time_point;</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Make concept for Rep, Period, Clock and
+Duration, and fix 20.9 and wait_until and wait_for's template
+parameter at 30.</font>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 80</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.9.2.1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Heading</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The section heading does
+not describe the contents.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Change the heading
+“<span lang="en-US">is_floating_point</span>” to
+“<span lang="en-US">treat_as_floating_point</span>”.
+Optionally adjust the section’s label similarly.</font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">US 81</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">20.9.3</font>
+<td>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">chrono::duration is missing the modulous
+operator for both member and non-member arithmetic. This operator
+is useful for finding the position of a duration within a bounded
+time frame. Having it be built in to duration is safer than
+requiring the client to extract and operate directly on the
+duration’s representation as the latter will not enforce the
+correct units of the operation.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Ex:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">milliseconds ms(...);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">microseconds us(...);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ms % us; // microseconds</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">us % ms; // microseconds</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ms % 5; // milliseconds</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">5 % ms; // does not compile</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Add:</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class Rep, class Period =
+ratio<1>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class duration {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">...</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">duration&
+operator%(const rep&);</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">duration&
+operator%(const duration&);</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">..</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">};</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template <class Rep1,
+class Period,</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">class Rep2></font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">duration<typename
+common_type<</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">Rep1, Rep2>::type,
+Period></font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">operator%(const
+duration<Rep1, Period>& d, const Rep2& s);</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">template <class Rep1,
+class Period1,</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">class Rep2, class
+Period2></font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">typename
+common_type<duration<Rep1, Period1>, duration<Rep2,
+Period2>>::type</font>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt" face="Arial, sans-serif">operator%(const
+duration<Rep1, Period1>& lhs, const duration<Rep2,
+Period2>& rhs);</font>
+<p align="left"><br>
+<td>
+<p align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 82</font>
+<td>
+<p><font size="2" style="font-size: 9pt">20.9.5.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">after ¶ 1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The code synopsis has a
+minor alignment error.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Align “rep”
+with the other symbols defined in this synopsis.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+216</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">21</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">All the
+containers use concepts for their iterator usage, exect for
+basic_string. This needs fixing.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Use concepts
+for iterator template parameters throughout the chapter.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 46</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">21.2, 21.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">The basic_string does not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The "class Alloc" is changed to
+"Allocator Alloc".</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The "class InputIterator" is changed to
+"InputIterator Iter".</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3, basic_string:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator</u> Alloc =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_string;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">operator+(basic_string<charT,traits,<u>Alloc</u>>&&
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">operator+(basic_string<charT,traits,<u>Alloc</u>>&&
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const charT* lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const charT* lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(charT lhs, const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(charT lhs,
+basic_string<charT,traits,<u>Alloc</u>>&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">operator+(basic_string<charT,traits,<u>Alloc</u>>&&
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator+(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs, charT
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">operator+(basic_string<charT,traits,<u>Alloc</u>>&&
+lhs, charT rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(const charT* lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator==(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(const charT* lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator!=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator< (const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator< (const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator< (const charT*
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator> (const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator> (const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator> (const charT*
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator<=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator<=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator<=(const charT*
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator>=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator>=(const
+basic_string<charT,traits,<u>Alloc</u>>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const charT* rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">bool operator>=(const charT*
+lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.8.8: swap</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void
+swap(basic_string<charT,traits,Alloc>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,Alloc>&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void
+swap(basic_string<charT,traits,Alloc>&& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,Alloc>&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void
+swap(basic_string<charT,traits,Alloc>& lhs,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,Alloc>&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.8.9: inserters and
+extractors</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_istream<charT,traits>&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">operator>>(basic_istream<charT,traits>&&
+is,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&
+str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_ostream<charT,
+traits>&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">operator<<(basic_ostream<charT,
+traits>&& os,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_istream<charT,traits>&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">getline(basic_istream<charT,traits>&&
+is,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&
+str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">charT delim);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits,
+<u>Allocator</u> <u>Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_istream<charT,traits>&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">getline(basic_istream<charT,traits>&&
+is,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>&
+str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3 Class template
+basic_string</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator Alloc</u> =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_string {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// types:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef traits traits_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::char_type
+value_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>Alloc</u>
+allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename <u>Alloc</u>::size_type
+size_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename
+<u>Alloc</u>::difference_type difference_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename <u>Alloc</u>::reference
+reference;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename
+<u>Alloc</u>::const_reference const_reference;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename <u>Alloc</u>::pointer
+pointer;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename
+<u>Alloc</u>::const_pointer const_pointer;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef implementation-defined iterator;
+// See 23.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef implementation-defined
+const_iterator; // See 23.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef
+std::reverse_iterator<iterator> reverse_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef
+std::reverse_iterator<const_iterator>
+const_reverse_iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">static const size_type npos = -1;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.2 construct/copy/destroy:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_string(const
+<u>Alloc</u>& a = <u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(const basic_string&
+str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(basic_string&&
+str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(const basic_string&
+str, size_type pos, size_type n = npos,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const <u>Alloc</u>& a =
+<u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(const charT* s,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n, const <u>Alloc</u>& a =
+<u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(const charT* s, const
+<u>Alloc</u>& a = <u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(size_type n, charT c, const
+<u>Alloc</u>& a = <u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>InputIterator</u>
+<u>Iter</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(<u>Iter</u> begin,
+<u>Iter</u> end,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const <u>Alloc</u>& a =
+<u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string(initializer_list<charT>, const
+<u>Alloc</u>& = <u>Alloc</u>());</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(const basic_string&,
+const <u>Alloc</u>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string(basic_string&&,
+const <u>Alloc</u>&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">~basic_string();</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& operator=(const
+basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string&
+operator=(basic_string&& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& operator=(const charT*
+s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& operator=(charT
+c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string&
+operator=(initializer_list<charT>);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.3 iterators:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.4 capacity:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.5 element access:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.6 modifiers:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(const
+basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(const
+basic_string& str, size_type pos,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(const charT* s,
+size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(const charT*
+s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(size_type n,
+charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>InputIterator</u>
+<u>Iter</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& append(<u>Iter</u>
+first, <u>Iter</u> last);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string&
+append(initializer_list<charT>);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void push_back(charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(const
+basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string&
+assign(basic_string&& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(const
+basic_string& str, size_type pos,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(const charT* s,
+size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(const charT*
+s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(size_type n,
+charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>InputIterator</u>
+<u>Iter</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& assign(<u>Iter</u>
+first, <u>Iter</u> last);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string&
+assign(initializer_list<charT>);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& insert(size_type pos1,
+const basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& insert(size_type pos1,
+const basic_string& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type pos2, size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& insert(size_type pos,
+const charT* s, size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& insert(size_type pos,
+const charT* s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& insert(size_type pos,
+size_type n, charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">iterator insert(const_iterator p, charT
+c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void insert(const_iterator p, size_type
+n, charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>InputIterator</u>
+<u>Iter</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void insert(const_iterator p,
+<u>Iter</u> first, <u>Iter</u> last);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void insert(const_iterator p,
+initializer_list<charT>);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(size_type
+pos1, size_type n1,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(size_type
+pos1, size_type n1,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const basic_string& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type pos2, size_type n2);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(size_type pos,
+size_type n1, const charT* s,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n2);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(size_type pos,
+size_type n1, const charT* s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(size_type pos,
+size_type n1, size_type n2,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator i1,
+iterator i2,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const basic_string& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator i1,
+iterator i2, const charT* s,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator i1,
+iterator i2, const charT* s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator i1,
+iterator i2,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">size_type n, charT c);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<<u>InputIterator</u>
+<u>Iter</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator i1,
+iterator i2,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Iter</u> j1, <u>Iter</u> j2);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_string& replace(iterator,
+iterator, initializer_list<charT>);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 21.3.7 string operations:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator</u> <u>Alloc></u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct
+constructible_with_allocator_suffix<</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">basic_string<charT, traits, <u>Alloc</u>>
+> : true_type { };</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 47</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">21.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo. Missing ”>”</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+Allocator Alloc</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+Allocator Alloc></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Correct typo.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 48</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">21.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">char_traits does not use concept.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">For example, create CharTraits concept
+and change as follows:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class charT,
+<u>CharTraits</u> traits = char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class Allocator = allocator<charT>
+></font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">class basic_string {</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add a concept for char_traits.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+217</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">21.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">basic_string
+refers to constructible_with_allocator_suffix, which I thought was
+removed?</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Remove the lines: template <class charT, class
+traits, class Alloc struct constructible_with_allocator_suffix<
+basic_string<charT, traits, Alloc> > : true_type {
+};</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+218</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">21.3.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The identity "&*(s.begin() + n) ==
+&*s.begin() + n" relies on operator& doing the "right
+thing", which (AFAICS) there is no requirement for. See my comment
+under clauses "23.2.1, 23.2.6" (p1 in both cases) - this is the
+same issue, but I've created a separate comment for basic_string
+because it is in a different chapter.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">See my
+recommendations for "23.2.1, 23.2.6".</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+219</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">21.3.6.6
+[string.replace]</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Effects
+refers to "whose first begin() - i1 elements" However i1 is greater
+than begin()...</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Effects
+refers to "whose first i1 - begin() elements"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+220</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">21.3.8.9</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The operator<< for basic_string takes the
+output stream by r-value reference. This is different from the same
+operator for error_code (19.4.2.6), bitset (20.2.6.3), shared_ptr
+(20.7.13.2.8), complex (26.3.6) and sub_match (28.4)</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Use the same
+reference type for the all the library types. This should be the
+r-value reference. There are other places in the standard where
+TR1, and new classes, did not receive an 'R-value' update.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 33</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">22.1.1 [locale]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">ios_base::iostate err = 0;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">iostate is a bitmask type and so could be
+an enumeration. Probably using</font>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">goodbit is the solution.</font>
+<td>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 49</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">22.1.3.2.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">codecvt does not use concept. For
+example, create CodeConvert concept and change as follows.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">template<<u>CodeConvert</u> Codecvt,
+class Elem = wchar_t> class wstring_convert {</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add a concept for codecvt.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 50</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">22.1.3.2.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add custom allocator parameter to
+wstring_convert, since we cannot allocate memory for strings from a
+custom allocator.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class Codecvt, class Elem =
+wchar_t> class wstring_convert {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef std::basic_string<char>
+byte_string;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef std::basic_string<Elem>
+wide_string;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style=
+"text-indent: 0.06in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class Codecvt, class Elem =
+wchar_t<u>,</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator WideAllocator =
+allocator<Elem>,</u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator ByteAllocator =
+allocator<char></u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class wstring_convert {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef std::basic_string<char,
+<u>char_traits<char>, ByteAllocator</u>>
+byte_string;</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">typedef std::basic_string<Elem,
+<u>char_traits<Elem>, WideAllocator</u>>
+wide_string;</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 4</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">22.2.1.4.1</font>
+<p><font size="2" style="font-size: 9pt">22.2.1.4.2</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p><font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">to_end and to_limit are both used. Only one is
+needed.</font></tt></font>
+<td>
+<p><font size="2" style="font-size: 9pt">Change to_limit to
+to_end.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 5</font>
+<td>
+<p><font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">22.2.1.4.2</font></tt></font>
+<td>
+<p><font size="2" style="font-size: 9pt">#3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">[ Note: As a result of operations on state, it
+can return ok or partial and set next == from and to_next != to.
+—end note ]</font></tt><br></font><br>
+<br>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">"next" should be
+"from_next."</font></tt></font>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">Also, the sentence applies to all the examples,
+including do_in and do_out.</font></tt></font>
+<p><font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">Reasoning: When reading one element of
+multibyte source data such as UTF-8, it is possible that from_next
+is incremented, to_next is unaltered, state is altered and return
+value is partial.<br>
+When reading one element of wide character data, the output can be
+several multibyte characters, so it is possible that from_next is
+unaltered, to_next is advanced, state is altered and return value
+is partial.</font></tt></font>
+<td>
+<p><font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">[ Note: As a result of operations on state,
+do_in and do_out can return</font></tt><br>
+<tt><font face="Arial, sans-serif">ok or partial and set from_next
+== from and/or to_next != to. —end</font></tt><br>
+<tt><font face="Arial, sans-serif">note ]</font></tt></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 6</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">22.2.1.5</font>
+<p><font size="2" style="font-size: 9pt">See also 22.2.1.4
+(1,2,3)</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">codecvt_byname is only specified to work with
+locale names. There is no built-in means to find a codecvt with a
+character set's name. A locale and a character set are not the
+same. If the user has data which is encoded in a certain character
+set and she wants to create a codecvt which can convert from that
+character set to another one, she must iterate through locales to
+find one, or use external means (iconv, ICU's uconv). Specifying a
+locale with the character set is not a suitable solution, since
+there is no built-in mapping from character sets to locales. It is
+only possible to inquire the character set once the locale is
+known.</font></tt></font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt"><tt><font face=
+"Arial, sans-serif">There should be a built-in means to find a
+codecvt with a pair of character set names.</font></tt></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FI 7</font>
+<td>
+<p><font size="2" style="font-size: 9pt">22.2.1.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1,2,3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">The word "codeset" is used,
+whereas the word "character set" is used elsewhere in the text. The
+words are intended to convey the same concept, so only one should
+be used (or always both together).</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Change "codeset" to
+"character set."</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 51</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">22.2.5.1.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">7</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">A parameter `end’ should be
+`fmtend’.<br>
+get() function had two `end’ parameters at N2321.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">iter_type get (iter_type s, iter_type
+end, ios_base& f, ios_base::iostate& err, tm* t, const
+char_type* fmt, const char_type *end) const;</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">The function prototype of get() has been corrected
+at N2800, but a Requires statement still refers `end’
+parameter.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Requires: [fmt,end) shall be a valid
+range.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><br>
+<br>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Requires: [fmt,fmtend) shall be a valid
+range.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 52</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">22.2.5.1, 22.2.5.2, 22.2.6.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">InputIterator does not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">22.2.5.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class
+InputIterator = istreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_get : public locale::facet,
+public time_base {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef InputIterator iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,
+<u>InputIterator InputIter</u> = istreambuf_iterator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_get : public locale::facet,
+public time_base {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>InputIter</u>
+iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">22.2.5.2</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class
+InputIterator = istreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_get_byname : public
+time_get<charT, InputIterator> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef time_base::dateorder
+dateorder;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef InputIterator iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,
+<u>InputIterator InputIter</u> = istreambuf_iterator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_get_byname : public
+time_get<charT, InputIter> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef time_base::dateorder
+dateorder;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>InputIter</u>
+iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">22.2.6.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class InputIterator =
+istreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class money_get : public locale::facet
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef InputIterator iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>InputIterator InputIter</u> =
+istreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class money_get : public locale::facet
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>InputIter</u>
+iter_type;</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 53</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">22.2.5.3 , 22.2.5.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">OutputIterator does not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">22.2.5.3</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class
+OutputIterator = ostreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_put : public locale::facet
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef OutputIterator iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt" face="Arial, sans-serif"><span lang=
+"zxx"> </span></font><font size="2" style=
+"font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,
+<u>OutputIterator OutputIter</u> = ostreambuf_iterator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_put : public locale::facet
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>OutputIter</u>
+iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">22.2.5.4</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class
+OutputIterator = ostreambuf_iterator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_put_byname : public
+time_put<charT, OutputIterator></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef OutputIterator iter_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT,
+<u>OutputIterator OutputIter</u> = ostreambuf_iterator<charT>
+></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class time_put_byname : public
+time_put<charT, OutputIter></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">typedef <u>OutputIter</u> iter_type;</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 54</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Table 79</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There is not <forward_list> in
+Table 79.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add <forward_list> between
+<deque> and <list>.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+221</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">23</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+79</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The table is
+missing the new <forward_list> header.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add <forward_list> to the table for sequence
+containers. Alternative (technical) solution might be to merge
+<forward_list> into <list>.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+222</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">23</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is not clear what purpose the Requirement
+tables serve in the Containers clause. Are they the definition of a
+library Container? Or simply a conventient shorthand to factor
+common semantics into a single place, simplifying the description
+of each subsequent container? This becomes an issue for
+'containers' like array, which does not meet the
+default-construct-to-empty requirement, or forward_list which does
+not support the size operation. Are these components no longer
+containers? Does that mean the remaining requirements don't apply?
+Or are these contradictions that need fixing, despite being a clear
+design decision?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify all
+the tables in 23.1 are there as a convenience for documentation,
+rather than a strict set of requirements. Containers should be
+allowed to relax specific requirements if they call attention to
+them in their documentation. The introductory text for array should
+be expanded to mention a default constructed array is not empty,
+and forward_list introduction should mention it does not provide
+the required size operation as it cannot be implemented
+efficiently.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 55</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">3</font><sup><font size="2" style=
+"font-size: 9pt">rd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">It seems that “the
+MinimalAllocator concep” is the typo of “the
+MinimalAllocator concept”.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Change to … models the MinimalAllocator
+concep</font><font size="2" style="font-size: 9pt" color=
+"#339966">t</font><font size="2" style=
+"font-size: 9pt">.</font></font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+223</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The library does not define the MinimalAllocator
+or ScopedAllocator concepts, these were part of an earlier
+Allocators proposal that was rejected.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the
+references to MinimalAllocator and ScopedAllocator, or add
+definitions for these concepts to clause 20.7.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+224</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+paragraph implicitly requires all containers in clause 23 to
+support allocators, which std::array does not.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add an 'unless otherwise specified' rider
+somewhere in p8, or move the whole array container from clause 23
+[containers] to clause 20 [utilies] to accompany bitset, pair and
+tuple.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+225</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+81</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Inconsistent words used to say the same thing.
+Table 80 describes iterator/const_iterator typedef as returning an
+"iterator type whose value type is T". Table 81 expresses the same
+idea as an "iterator type pointing to T". Express identical ideas
+with the same words to avoid accidentally introducing subtlety and
+confusion</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change return
+types for X::(const)_reverse_iterator to say "iterator type whose
+value type is (const) T".</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+226</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">10</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt"><array> must be added to this list. In
+particular it doesn't satisfy: - no swap() function invalidates any
+references, pointers, or iterators referring to the elements of the
+containers being swapped. and probably doesn't satisfy: — no
+swap() function throws an exception.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">If
+<array> remains a container, this will have to also reference
+array, which will then have to say which of these points it
+satisfies.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+227</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+80</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+post-condition for a = rv uses the word “construction”
+when it means “assignment”</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace the word “construction” with
+the word “assignment”</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+228</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Line 4 contains a spelling mistake in the fragment
+"MinimalAllocator concep."</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+"concep" with "concept"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+229</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The fragment
+"A container may directly call constructors" is not technically
+correct as constructors are not callable.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace "A container may directly call
+constructors and destructors for its stored objects" with something
+similar to "A container may directly construct its stored objects
+and call destructors for its stored objects"</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+230</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in">“<font size="2"
+style="font-size: 9pt">implementations shall consider the following
+functions to be const” - what does this mean? I don't
+understand what it means by implementations considering the
+functions to be const – surely they are either declared const
+or not?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clarify what
+is meant and what requirements an implementation must
+satisfy.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 56</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">12</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, Table 84</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">`array’ is unstated in Table 84 -
+Optional sequence container operations.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add `array’ to Container field for
+the following Expression.</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.15in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">a.front()</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.15in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">a.back()</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.15in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">a[n]</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.15in; margin-top: 0.04in"><font size="2" style=
+"font-size: 9pt">a.at(n)</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+231</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">9-11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">These paragraphs are redundant now that Concepts
+define what it means to be an Iterator and guide overload
+resolution accordingly.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike
+23.1.3p9-11. Make sure std::basic_string has constraints similar to
+std::vector to meet this old guarantee.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+232</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+84</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">match_results may follow the requirements but is
+not listed a general purpose library container.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove
+reference to match_results against a[n] operation</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+233</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+84</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+references to the new containers.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add reference to array to the rows for: a.front(),
+a. back(), a[n] a.at(n). Add reference to forward_list to the rows
+for: a.front(), a.emplace_front(args), a.push_front(t),
+a.push_front(rv), a.pop_front(). Add reference to basic_string to
+the row for: a.at(n).</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+234</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Table
+84</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Ther reference to iterator in semantics for back
+should also allow for const_iterator when called on a
+const-qualified container. This would be ugly to specify in the 03
+standard, but is quite easy with the addition of auto in this new
+standard.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+iterator with auto in semantics for back: { auto tmp = a.end();
+--tmp; return *tmp; }</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+235</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left">“<font size="2" style="font-size: 9pt">The
+library provides three basic kinds of sequence containers: vector,
+list, and deque” - text appears to be out of date re addition
+of array and forward_list</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Change the text to read: “The library
+provides five basic kinds of sequence containers: array, deque,
+forward_list, list and vector”.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+236</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">[ I've moved (1) into a separate comment because I
+believe it is editorial in the simple sense, whereas (2) and (3)
+are not so straight forward ] (2) “vector is the type of
+sequence container that should be used by default” -- As I
+understand it vector was considered first port of call because the
+things it has in common with the native array make programmers
+(especially those new to the container library) feel like they are
+on familiar territory. However, we now have the array container, so
+I think this should be recommended as the first port of call. (3)
+This paragraph is actually giving guidance on the use of the
+containers and should not be normative text</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove this
+paragraph</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+237</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">vector, list,
+and deque offer the programmer different complexity trade-offs and
+should be used accordingly - this ignores array and
+forward_list</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Modify the text to read: "array, deque,
+forward_list, list and vector offer the programmer different
+complexity trade-offs and should be used accordingly"</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+238</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Leaving it unspecified whether or not iterator and
+const_iterator are the same type is dangerous, as user code may or
+may not violate the One Definition Rule by providing overloads for
+both types. It is probably too late to specify a single behaviour,
+but implementors should document what to expect. Observing that
+problems can be avoided by users restricting themselves to using
+const_iterator, add a note to that effect.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+'unspecified' to 'implementation defined'. Add "[Note: As
+itererator and const_iterator have identical semantics in this
+case, and iterator is convertible to const_iterator, users can
+avoid violating the One Definition Rule by always using
+const_iterator in their function parameter lists -- end
+note]</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+239</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">85</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">It is not
+possible to take a move-only key out of an unordered container,
+such as (multi)set or (multi)map, or the new hashed
+containers.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add below a.erase(q), a.extract(q), with the
+following notation: a.extract(q), Return type pair<key,
+iterator> Extracts the element pointed to by q and erases it
+from the set. Returns a pair containing the value pointed to by q
+and an iterator pointing to the element immediately following q
+prior to the element being erased. If no such element
+exists,returns a.end().</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+240</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.1.6.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The axiom EmplacePushEquivalence should be
+asserting the stronger contract that emplace and insert return the
+same iterator value, not just iterators that dereference to the
+same value. This is a similar statement that is easier to express
+and should be equivalent - the idea that insert and emplace might
+return iterator values that do not compare equal but point to the
+same element should fail somewhere in the iterator concepts. Also,
+this axiom should be renamed to reflect its connection with insert,
+rather than push_front/push_back,</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove the *
+to deference the returned iterator either side of the == in the
+EmplacePushEquivalence axiom, rename the axiom
+EmplacementInsertionEquivalence : requires
+InsertionContainer<C> && Constructible<value_type,
+Args...> axiom EmplacementInsertionEquivalence(C c,
+const_iterator position, Args... args) { emplace(c, position,
+args...) == insert(c, position, value_type(args...)); }</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 57</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.1.6.3</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo, duplicated "to"</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">"<u>to to</u> model insertion container
+concepts."</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Remove one.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+241</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.2.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">std::array does not have an allocator, so need to
+document an exception to the requirements of 23.1.1p3</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">add exception
+to 23.1.1p3</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+242</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">std::
+qualification no longer needed for reverse_iterator.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">remove std:: qualification from
+std::reverse_iterator<iterator> and
+std::reverse_iterator<const_iterator></font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+243</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Most containers, and types in general have 3
+swaps: swap(T&, T&) swap(T&&, T&) swap(T&,
+T&&) But array only has swap(T&, T&).</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">add the other
+two swaps.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+244</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">23.2.1,
+23.2.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The validity of the expression &a[n] ==
+&a[0] + n is contingent on operator& doing the “right
+thing” (as captured by the CopyConstructible requirements in
+table 30 in C++2003). However this constraint has been lost in the
+Concepts of C++0x. This applies to vector and array (it actually
+applies to string also, but that's a different chapter, so I'll
+file a separate comment there and cross-reference).</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Define a
+ContiguousStrorage and apply it to vector,array and string. The
+Concept (supplied by Alisdair M) looks like this: Concept<
+typename C > ContiguousStrorage { requires Container<C>;
+typename value_type = C::value_type; value_type * data( C ); axiom
+Contiguous { C c; true = equal_ranges( data( c), data(c) + size(c),
+begin(c)); } };</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+245</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.2.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The predicate
+types used in special member function of forward_list should be
+CopyConstructible, as per the algorithms of the same name. Note: an
+alternate solution would be to require these callable concepts to
+be CopyConstructible in clause 20, which would simplify the library
+specification in general. See earlier comment for details, that
+would render this one redundant.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add CopyConstructible requirement to the following
+signatures: template <Predicate<auto, T> Pred> requires
+CopyConstructible<Pred> void remove_if(Pred pred); template
+<EquivalenceRelation<auto, T> BinaryPredicate> requires
+CopyConstructible<BinaryPredicate> void
+unique(BinaryPredicate binary_pred); template
+<StrictWeakOrder<auto, T> Compare> requires
+CopyConstructible<Compare> void
+merge(forward_list<T,Alloc>&& x, Compare comp);
+template <StrictWeakOrder<auto, T> Compare> requires
+CopyConstructible<Compare> void sort(Compare comp);</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 58</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.2.3.2</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line before 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Unnecessary "{" exists before a word
+iterator like "{iterator before_begin()".</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Remove "{"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 59</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.2.4.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Types of the third and forth parameter
+of splice() are iterator at 23.2.4.4, though types of them are
+const_iterator at 23.2.4. (They are both const_iterator on
+N2350)</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void splice(const_iterator position,
+list<T,Allocator>&& x, iterator i);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void splice(const_iterator position,
+list<T,Allocator>&& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">iterator first, iterator last);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void splice(const_iterator position,
+list<T,Allocator>&& x, const_iterator i);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void splice(const_iterator position,
+list<T,Allocator>&& x,</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">const_iterator first, const_iterator last);</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 83</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">23.2.6.2</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">7</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">"shrink_to_fint" should be
+"shrink_to_fit".</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+246</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">23.3.2.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The content of this sub-clause is purely trying to
+describe in words the effect of the requires clauses on these
+operations, now that we have Concepts. As such, the desctiption is
+more confusing than the signature itself. The semantic for these
+functions is adequately covered in the requirements tables in
+23.1.4.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike
+23.3.2.2 entirely. (but do NOT strike these signatures from the
+class template definition!)</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+247</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Iterator concepts are not extensive enough to
+merit a whole new header, and should be merged into
+<concpts>. This is particularly important for supporting the
+new for loop syntax which requires access to the Range concept. The
+required header to enable this syntax shoud have a simple name,
+like <concepts>, rather than something awkward to type like
+<iterator_concepts>.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the
+concepts of <iterator_concepts> into the <concepts>
+header. We take no position on moving the text from Clause 24 to
+Clause 20 though.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+248</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The text "so for any iterator type there is an
+iterator value that points past the last element of a corresponding
+container" is slightly misleading. Iterators can refer into
+generalised ranges and sequences, not just containers. A broader
+term than 'container' should be used.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace the
+reference to container with a more appropriate concept</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+250</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">A default
+implementation should be supplied for the post-increment operator
+to simplify implementation of iterators by users.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Copy the
+Effects clause into the concept description as the default
+implementation. Assumes a default value for
+postincrement_result</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+251</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The post-increment operator is dangerous for a
+general InputIterator. The multi-pass guarantees that make it
+meaningful are defined as part of the ForwardIterator refinement.
+Any change will affect only constrained templates that have not yet
+been written, so should not break existing user iterators which
+remain free to add these operations. This change will also affect
+the generalised OutputIterator, although there is no percieved need
+for the post-increment operator in this case either.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move
+declaration of postincrement operator and postincrement_result type
+from Interator concept to the ForwardIterator concept</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK<br>
+252</font>
+<p><br>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style=
+"font-size: 9pt">istream_iterator is not a class, but a class
+template</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+'class' to 'class template' in the note.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+253</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">First sentance does not make gramatical sense,
+Seems to be missing the words 'if it' by comparison with similar
+sentance in other subsections</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the words
+'if it' : "X satisfies the requirements of an output iterator IF IT
+meets the syntactic and semantic requirements"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+254</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This postcondition for pre-increment operator
+should be written as an axiom</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the
+postcondition into the concept definition as an axiom</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+255</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This postcondition for pre-increment operator
+should be written as an axiom</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move the
+postcondition into the concept definition as an axiom</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+256</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3, 4,
+5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+relationship between pre- and post- decrement should be expressed
+as an axiom.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move the text specification of pre/post-conditions
+and behaviour into an axiom within the BidirectionalIterator
+concept</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+257</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is a reasonable default for
+postdecrement_result type, which is X. X is required to be regular,
+therefore CopyConstructible and a valid ResultType. Together with
+the next comment this simplifies user defined iterator
+implentations</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the
+default : typename postincrement_result = X;</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+258</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">A default implementation should be supplied for
+the post-decrement operator to simplify implementation of iterators
+by users.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Copy the
+Effects clause into the concept description as the default
+implementation. Assumes a default value for
+postincrement_result</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+259</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">postdecrement_result is effectively returning a
+copy of the original iterator value, so should have similar
+constraints, rather than just HasDereference. If Concepts do not
+support this circularity of definition suggest that concepts
+feature may want a little more work</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the
+requirement: requires Iterator< postdecrement_result
+>;</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+260</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The effects
+clause for post-decrement iterator should be available as an axiom
+and a default implementation, where the compiler can make better
+use of it.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move the Effects clause into the
+BidirectionalIterator concept definition as an axiom, and as the
+default implementation for the operation.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+249</font>
+<td>
+<p lang="en-GB" align="justify"><font size="2" style=
+"font-size: 9pt"><span lang="en-US">24.1.6</span></font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The semantic for operator+= should also be
+provided as a default implementation to simplify implementation of
+user-defined iterators</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Copy the text
+from the effects clause into the RandomAccessIterator concept as
+the default implementaiton.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+261</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">To simplify user defined random access iterator
+types, the subscript_reference type should default to
+reference</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">typename
+subscript_reference = reference;</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+262</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3,
+4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Effects and
+post-conditions for operator+ are more useful if expressed as
+axioms, and supplied as default implementations.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move the effects and Postcondition definitions
+into the RandomAccessIterator concept and copy the code in the
+specification as the default implementation of these
+operations.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+263</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+requirement on operator-= would be better expressed as a default
+implementation in the concept, with a matching axiom</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move the specification for operator-= from the
+returns clause into an axiom and default implementation within the
+RandomAccessIterator concept</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+264</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Effects
+clauses are better expressed as axioms where possible.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move code in operator- effects clause into
+RandomAccessIterator concept as both a default implementation and
+an axiom</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+265</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This effects clause is nonesense. It looks more
+like an axiom stating equivalence, and certainly an effects clause
+cannot change the state of two arguments passed by const
+reference</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+Effects clause</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+266</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">9</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This sentance
+should be provided as a default definition, along with a matching
+axiom</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Move the Returns clause into the spefication for
+RandomAccessIterator operator- as a default implementation. Move
+the Effects clause as the matching axiom.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+267</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The code in the Requires clause for
+RandomAccessIterator operator[] would be better expressed as an
+axiom.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Rewrite the
+Requires clause as an axiom in the RandomAccessIterator
+concept</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+268</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.1.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">12</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">This note is potentialy confusing as __far enters
+the syntax as a clear language extension, but the note treats it as
+a regular part of the grammar. It might be better expressed using
+attributes in the current wording.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Clean up the
+note to either avoid using language extension, or spell out this is
+a constraint to support extensions.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 60</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">24.1.8</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Capability of an iterator is too much
+restricted by concept.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Concept of std::Range is defined
+as:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">concept Range<typename T> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">InputIterator iterator;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">iterator begin(T&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">iterator end(T&);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">So the following code generates an
+error.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <std::Range Rng></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void sort(Rng& r)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.08in; text-indent: -0.08in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">// error! Rng::iterator does
+not satisfy requirements of a random</font>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.07in; text-indent: 0.08in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">// access iterator.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::sort(begin(r), end(r));</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::vector<int> v; //
+vector::iterator is a random access iterator.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">sort(v);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">This is because the concept of an
+iterator of std::Range is InputIterator. For this reason, a random
+access iterator loses its capability when passed to a std::Range
+parameter.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">To be able to work the above code, we
+need to write as follows:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <std::Range T></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">requires
+std::RandomAccessIterator<T::iterator> &&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::ShuffleIterator<T::iterator>
+&&</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">std::LessThanComparable<T::iterator::value_type></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void sort(T& r)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">sort(begin(r), end(r));</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::vector<int> v;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">sort(v);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">It needs quiet a few amount of codes
+like this only to recover random access capability from
+InputIterator concept.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">We can write the following valid code
+with Boost.Range, which is implemented with using C++03
+SFINAE.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class Range></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void sort(Range& r)</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::sort(boost::begin(r),
+boost::end(r));</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">std::vector<int> v;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">sort(v); // OK</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">One of the motivation to introduce concepts are
+supporting template programming techniques by language directly to
+eliminate hacky techniques such as tag-dispatch, SFINAE and Type
+Traints. But SFINAE will be kept using because it needs quite a few
+amount of codes without using SFAINAE.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add InputRange, OutputRange,
+ForwardRange, BidirectionalRange and RandomAccessRange.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+269</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">'decrements for negative n' seems to imply a
+negative number of decrement operations, which is odd.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Need simple,
+clearer wording</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+270</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The reachability constraint in p5 means that a
+negavite result, implying decrements operations in p4, is not
+possible</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Split the two
+overloads into separate descriptions, where reachability is
+permitted to be in either direction for RandomAccessIterator</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+271</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6,7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">next/prev return an incremented iterator without
+changing the value of the original iterator. However, even this may
+invalidate an InputIterator. A ForwardIterator is required to
+guarantee the 'multipass' property.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace
+InputIterator constraint with FOrwardIterator in next and prev
+function templates.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+272</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">reverse_iterator and move_iterator use different
+formulations for their comparison operations. move_iterator merely
+requires the minimal set of operations, < and ==, from its
+underlying iterator and synthesizes all oprations from these two.
+reverse_iterator relies on the undelying iterator to support all
+comparision operations directly. In practice, move_iterator can
+only be implemented this way as it must support iterator types that
+are merely InputIterators, and so SemiRegular and not Regular.
+However, reserse_iterator has an existing specification and any
+change of semantic could change behaviour of conforming programs
+today - although an iterator that yields different results for (a
+> b) than (b < a) may fall foul of some semantic consistency
+requirements, even if the syntax is met.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Rephrase the
+reverse_iterator comparison operations using only operators <
+and ==, as per the move_iterator specification.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+274</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">24.4,
+24.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The subclauses for standard iterator adaptors
+could be better organised. There are essentially 3 kinds of
+iterator wrappers provided, stream iterators adapt streams and get
+their own subsection. insert iterators adapt containers, and get
+their own subsection but it is inserted into the middle of 24.4
+Predifined iterators. reverse_iterator and move_iterator adpat
+other iterators, but their presentation is split by insert
+iterators</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Promote
+24.4.2 [insert.iterators] up one level to 24.6. Emphasize that
+insert iterators adapt containers Retarget 24.4 [predef.iterators]
+as iterator adapters for iterator templates that wrap other
+iterators.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+275</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The constructor template taking a single Iterator
+argument will be selected for Copy Initialization instead of the
+non-template constructor taking a single Iterator argument selected
+by Direct Initialization.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The
+reverse_iterator template constructor taking a single Iterator
+argument should be explicit.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+276</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is odd to have a mix of declaration stlyes for
+operator+ overloads. Prefer if either all are member functions, or
+all are 'free' functions.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Make the
+member operators taking a difference_type argument non-member
+operators</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+277</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The default constructor default-initializes
+current, rather than value-initializes. This means that when
+Iterator corresponds to a trivial type, the current member is left
+un-initialized, even when the user explictly requests value
+intialization! At this point, it is not safe to perform any
+operations on the reverse_iterator other than assign it a new value
+or destroy it. Note that this does correspond to the basic
+definition of a singular iterator.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">i/ Specify
+value initialization rather than default intialization or ii/
+specify = default; rather than spell out the semantic. This will at
+least allow users to select value initialization and copy the
+iterator value. or iii/ Add a note to the description emphasizing
+the singular nature of a value-initialized reserve iterator.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+278</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is an inconsistency between the constructor
+taking an iterator and the constructor template taking a
+reverse_iterator where one passes by value, and the other by const
+reference. The by-value form is preferred as it allows for
+efficient moving when copy elision fails to kick in.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change the
+const reverse_iterator<U> & parameter to
+pass-by-value</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+279</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.2.12, 24.4.3.2.12</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The reason the return type became unspecified is
+LWG issue 386. This reasoning no longer applies as there are at
+least two ways to get the right return type with the new language
+facilities added since the previous standard.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Specify the
+return type using either decltype or the Iter concept map</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+280</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.2.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The presence of the second iterator value is
+surprising for many readers who underestimate the size of a
+reverse_iterator object. Adding the exposition only member that is
+required by the semantic will reduce confusion.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add
+reverse_iterator expsoition only member tmp as a comment to class
+declaration, as a private member</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+281</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.4.1.2.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The current specification for return value will
+always be a true pointer type, but reverse_iterator supports proxy
+iterators where the pointer type may be some kind of 'smart
+pointer'</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace the
+existing returns specification with a copy of the operator*
+specification that returns this->tmp.operator-></font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+282</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">24.4.2.1,
+24.4.2.2.2, 24.4.2.3, 24.4.2.4.2, 24.4.2.5, 24.4.2.6.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">n/a</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Insert
+iterators of move-only types will move from lvalues</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add an
+additional constrained overload for operator= that requires
+!CopyConstructible<Cont::value_type> and mark it
+=delete.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+283</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">24.4.2.5,
+24.4.2.6.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">postincrement
+operator overloads traditionally return by value - insert_iterator
+is declared as return by reference. The change is harmless in this
+case, but either front/back_insert_iterator should take the
+matching change for consistency, or this function should
+return-by-value</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">change
+operator++(int) overload to return by value, not reference. Affects
+both class summary and operator definition in p</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 61</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">24.4.3.2.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">2</font><sup><font size="2" style=
+"font-size: 9pt">nd</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">"intializing" should be
+"in<u>i</u>tializing"</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add "i"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+284</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The stream iterators need constraining with
+concepts/requrires clauses.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+285</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1,2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Much of the content of p1 and the whole of p2 is a
+redundant redefinition of InputIterator. It should be
+simplified</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike p2.
+Simplify p1 and add a cross-reference to the definition of
+InputIterator concept.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+286</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">To the casual reader it is not clear if it is
+intended to be able to assign to istream_iterator objects.
+Specifying the copy constructor but relying on the implicit
+copy-assign operator is confusing.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Either
+provide a similar definition to the copy-assign operator as for the
+copy constructor, or strike the copy constructor</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+287</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is not clear what the intial state of an
+istream_iterator should be. Is _value_ initialized by reading the
+stream, or default/value initialized? If it is initialized by
+reading the stream, what happens if the initialization is deferred
+until first dereference, when ideally the iterator value should
+have been that of an end-of-stream iterator which is not safely
+dereferencable?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Specify
+_value_ is initialized by reading the stream, or the iterator takes
+on the end-of-stream value if the stream is empty</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+288</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.1.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The provided
+specification is vacuous, offering no useful information.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Either strike the specification of the copy
+constructor, or simply replace it with an = default
+definition.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+289</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.1.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is very hard to pick up the correct
+specification for istream_iterator::operator== as the complete
+specification requires reading two quite disconnected paragraphs,
+24.5.1p3, and 24.5.1.2p6. Reading just the specifaction of the
+operation itself suggests that end-of-stream iterators are
+indistinguishable from 'valid' stream iterators, which is a very
+dangerous misreading.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Merge
+24.5.1p3, equality comparison of end-of-stream-iterators, into
+24.5.1.2p6, the specification of the equality operator for
+istream_iterator.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+290</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The character type of a string delimiter for an
+ostream_iterator should be const charT *, the type of the elements,
+not char *, a narrow character string.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Replace char
+* with const charT *</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+291</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">ostream_iterator postincrement operator returns by
+reference rather than by value. This may be a small efficiency
+gain, but it is otherwise unconventional. Prefer
+return-by-value.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style=
+"font-size: 9pt">ostream_iterator operator++(int);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 34</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">24.5.3 [istreambuf.iterator]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">There are two public sections, and the
+content of the second one is indented with respect to the first. I
+don't it should be.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+292</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Prefer the use of the new nullptr constant to the
+zero literal when using a null pointer in text.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+istreambuf_iterator(0) to istreambuf_iterator(nullptr)</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+293</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.3</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">2,3,4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The listed
+paragraphs redundantly redefine an input iterator, and redundancy
+can be a dangerous thing in a specification. Suggest a simpler
+phrasing below.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">2. The result of operator*() on an end of stream
+is undefined. For any other iterator value a char_type value is
+returned. 3. Two end of stream iterators are always equal. An end
+of stream iterator is not equal to a non-end of stream iterator. 4.
+As istreambuf_iterator() is an InputIterator but not a
+ForwardIterator, istreambuf_iterators object can be used only for
+one-pass algorithms. It is not possible to assign a character via
+an input iterator.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+294</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">24.5.3.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Implicit
+converting constructors can be invoked at surprising times, so
+there should always be a good reason for declaring one.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Mark the two single-argument constructors take a
+stream or stream buffer as explicit. The proxy constructor should
+remain implicit. explicit
+istreambuf_iterator(basic_istream<charT,traits>& s)
+throw(); explicit
+istreambuf_iterator(basic_streambuf<charT,traits>* s)
+throw();</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+295</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">25</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">THere is a level of redundancy in the library
+specification for many algorithms that can be eliminated with the
+combination of concepts and default parameters for function
+templates. Eliminating redundancy simplified specification and
+reduces the risk of inttroducing accidental inconsistencies.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Adopt n2743,
+or an update of that paper.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 62</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">25, 25.3.1.5, 26.3.6.5</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-left: 0.2in; text-indent: -0.2in; margin-bottom: 0in">
+<font size="2" style="font-size: 9pt">The return types of
+is_sorted_until function and is_heap_until function are iterator.
+But basically, the return type of is_xxx function is bool. And the
+return type of lower_bound function and upper_bound is
+iterator.</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.2in; margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">So we think that it is
+reasonable to change those two functions.</font>
+<p lang="en-GB" align="left" style=
+"text-indent: 0.2in; margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Change "is_sorted_until" to
+"sorted_bound"</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Change "is_heap" to "heap_bound"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+296</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.1.8</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The 'Returns' of adjacent_find requires only
+HasEqualTo, or a Predicate. Requiring EqualityComparable or
+EquivalenceRelation seems too strong and not useful.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+EqualityComparable to HasEqualTo and EquivalnceRelation to
+Predicate</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+297</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.2.11</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The definition of rotate_copy is very complicated.
+It is equivalent to: return copy(first, middle, copy(middle, last,
+result));</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+'effects' to, returns, requires, complexity to: effects: equivalent
+to: return copy(first, middle, copy(middle, last, result));</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+298</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.2.13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style=
+"font-size: 9pt">partition_point requires a partitioned
+array</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">requires:
+is_partitioned(first, last, pred) != false;</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+299</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.2.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Should be
+consistent in style use of concepts in template parameter lists.
+The auto-OutputIterator sytle used in std::copy is probably
+preferred.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change way
+signature is declared: template<InputIterator InIter,
+OutputIterator<auto, RvalueOf<InIter::reference>::type>
+OutIter> OutIter move(InIter first, InIter last, OutIter
+result);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+300</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.2.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Since publishing the original standard, we have
+learned that swap is a fundamental operation, and several common
+idioms rely on it - especially those related to exception safety.
+As such it belongs in the common <utility> header rather than
+the broader <algorithm> header, and likewise should move to
+clause 20. For backwards compatiblility the algorithm header should
+be required to #include <utility>, which would be covered in
+the resolution of LWG issue 343. There are already dependencies in
+<algorithm> on types declared in this header, so this comment
+does not create a new dependency.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move primary
+swap template from <algorithm> into <utility>. Move
+25.2.3 to somewhere under 20.2. Require <algorithm> to
+#include <utility> to access pair and provide legacy support
+for finding swap.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+301</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.2.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">replace and replace_if have the requirement:
+OutputIterator<Iter, Iter::reference> Which implies they need
+to copy some values in the range the algorithm is iterating over.
+This is not however the case, the only thing that happens is const
+T&s might be copied over existing elements (hence the
+OutputIterator<Iter, const T&></font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove
+OutputIterator<Iter, Iter::reference> from replace and
+replace_if</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+302</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">the concept StrictWeakOrder covers the definition
+of a strict weak ordering, described in paragraph 4.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove 4, and
+mention StrictWeakOrder in paragraph 1.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+303</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">This
+paragraph just describes is_partitioned</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">6 A sequence [start,finish) is partitioned with
+respect to an expression f(e) if is_partitioned(start, finish, e)
+!= false</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+304</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.3.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The requires clauses of push_heap, pop_heap and
+make_heap are inconsistently formatted, dispite being
+identical</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Format them
+identically.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+305</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">25.3.7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1, 9,
+17</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The negative
+requirement on IsSameType is a hold-over from an earlier draught
+with a variadic template form of min/max algorith. It is no longer
+necessary.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike the
+!IsSameType<T, Compare> constraint on min/max/minmax
+algorithms</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 84</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">26</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Parts of the numerics chapter are not
+concept enabled.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 35</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">26.3 [Complex numbers]</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">te</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Instantiations of the class template
+complex<> have to be allowed for integral types, to reflect
+existing practice and ISO standards (LIA-III).</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+306</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">26.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Random number library component cannot be used in
+constrained templates</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints for the random number library</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 63</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">26.4.8.5.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">No constructor of discrete_distribution
+that accepts initializer_list.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">discrete_distribution initialize
+distribution by a given range (iterators), but temporary variable
+of a container or an array is needed in the following case.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">int ar[] = {1, 2, 3};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">discrete_distribution<> dist(ar,
+ar+3);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Other libraries also accept initializer_list, so
+change discrete_distribution library to accept initializer_list
+too.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add the following constructer.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style=
+"font-size: 9pt"><u>discrete_distribution(initializer_list<result_type>);</u></font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 64</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">26.5.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in">“<font size="2"
+style="font-size: 9pt">valarray<T>& operator+=
+(initializer_list<T>);” is not defined.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add valarray<T>& operator+=
+(initializer_list<T>);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+307</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">26.7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Footnote
+288</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The footnote refers to TR1, which is not a defined
+term in this standard. Drop the reference to TR1, those templates
+are a regular part of the standard now and how they were introduced
+is no longer relevant.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Drop the
+reference to TR1.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 85</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The input/output chapter is not concept
+enabled.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+308</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">27</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><span lang="en-US">iostreams library
+cannot be used from constrained templates</span></font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints for the iostreams library, clause 27</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 65</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.4.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Switch from “unspecified-bool-type”
+to</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang=
+"zxx"> “</span></font><font size="2" style=
+"font-size: 9pt">explicit operator bool() const”.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Replace "operator
+<i>unspecified-bool-type</i>() const;" with "explicit operator
+bool() const;"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 66</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.4.4.3</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 11pt"><font size="2" style=
+"font-size: 9pt">1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Switch from “unspecified-bool-type”
+to</font><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif"><span lang=
+"zxx"> “</span></font><font size="2" style=
+"font-size: 9pt">explicit operator bool() const”</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Replace "operator
+<i>unspecified-bool-type</i>() const;" with "explicit operator
+bool() const;"</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 36</font>
+<td>
+<p><font size="2" style="font-size: 10pt" face=
+"Consolas, monospace"><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">27.6.1.2.2
+[istream.formatted.arithmetic]</font></font>
+<td>
+<p><font size="2" style="font-size: 9pt">1, 2, and 3</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">iostate err = 0;</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">iostate is a bitmask type and so could be
+an enumeration. Probably using</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">goodbit is the solution.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 37</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">27.6.1.2.2
+[istream.formatted.arithmetic]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">else if (lval <
+numeric_limits<int>::min()</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">|| numeric_limits<int>::max() <
+lval))</font>
+<p style="margin-bottom: 0in"><br>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">The parentheses aren't balanced.</font>
+<p><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 67</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">basic_stringbuf dose not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Replace “class Allocator” to
+“Allocator Alloc”.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<font size="2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator Alloc</u> =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_stringbuf : public
+basic_streambuf<charT,traits> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.1.1 Constructors:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit
+basic_stringbuf(ios_base::openmode which</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">= ios_base::in | ios_base::out);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_stringbuf</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">(const
+basic_string<charT,traits,<u>Alloc</u>>& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ios_base::openmode which = ios_base::in
+| ios_base::out);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_stringbuf(basic_stringbuf&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.1.3 Get and set:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>
+str() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void str(const
+basic_string<charT,traits,<u>Alloc</u>>& s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringbuf<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringbuf<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringbuf<charT,
+traits, <u>Alloc</u>>&& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringbuf<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringbuf<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringbuf<charT, traits,
+<u>Alloc</u>>&& y);</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 68</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">basic_istringstream dose not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Replace “class Allocator” to
+“Allocator Alloc”.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<font size="2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator Alloc</u> =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_istringstream : public
+basic_istream<charT,traits> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::int_type
+int_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::pos_type
+pos_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::off_type
+off_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef traits traits_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>Alloc</u>
+allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.2.1 Constructors:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit
+basic_istringstream(ios_base::openmode which =
+ios_base::in);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_istringstream(</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ios_base::openmode which =
+ios_base::in);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_istringstream(basic_istringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.2.2 Assign and swap:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_istringstream&
+operator=(basic_istringstream&& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_istringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.2.3 Members:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_stringbuf<charT,traits,<u>Alloc</u>>*
+rdbuf() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>
+str() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void str(const
+basic_string<charT,traits,<u>Alloc</u>>& s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">private:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">//
+basic_stringbuf<charT,traits,<u>Alloc</u>> sb; exposition
+only</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_istringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_istringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_istringstream<charT,
+traits, <u>Alloc</u>>&& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_istringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_istringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_istringstream<charT, traits,
+<u>Alloc</u>>&& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 69</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">basic_ostringstream dose not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Replace “class Allocator” to
+“Allocator Alloc”.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<font size="2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator Alloc</u> =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_ostringstream : public
+basic_ostream<charT,traits> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// types:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::int_type
+int_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::pos_type
+pos_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::off_type
+off_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef traits traits_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>Alloc</u>
+allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.3.1
+Constructors/destructor:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit
+basic_ostringstream(ios_base::openmode which =
+ios_base::out);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_ostringstream(</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ios_base::openmode which =
+ios_base::out);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_ostringstream(basic_ostringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.3.2 Assign/swap:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_ostringstream&
+operator=(basic_ostringstream&& rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_ostringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.3.3 Members:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_stringbuf<charT,traits,<u>Alloc</u>>*
+rdbuf() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>
+str() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void str(const
+basic_string<charT,traits,<u>Alloc</u>>& s);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">private:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">//
+basic_stringbuf<charT,traits,<u>Alloc</u>> sb; exposition
+only</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">template <class charT, class traits,
+<u>Allocator</u></font> <font size="2" style=
+"font-size: 9pt"><u>Alloc</u>></font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_ostringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_ostringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">template <class charT, class traits,
+<u>Allocator</u></font> <font size="2" style=
+"font-size: 9pt"><u>Alloc</u>></font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_ostringstream<charT,
+traits, <u>Alloc</u>>&& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_ostringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_ostringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_ostringstream<charT, traits,
+<u>Alloc</u>>&& y);</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 71</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.3</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo.</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">"template" is missing in "class
+basic_ostringstream" of the title of the chapter.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">27.7.3 Class basic_ostringstream</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.3 Class <u>template</u>
+basic_ostringstream</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 72</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.7.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">basic_stringstream dose not use
+concept.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Replace "class Allocator" to "Allocator
+Alloc".</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<font size="2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits =
+char_traits<charT>,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>Allocator Alloc</u> =
+allocator<charT> ></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">class basic_stringstream</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">: public
+basic_iostream<charT,traits> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">public:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// types:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef charT char_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::int_type
+int_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::pos_type
+pos_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef typename traits::off_type
+off_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef traits traits_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">typedef <u>Alloc</u>
+allocator_type;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// constructors/destructor</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_stringstream(</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ios_base::openmode which =
+ios_base::out|ios_base::in);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit basic_stringstream(</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">const
+basic_string<charT,traits,<u>Alloc</u>>& str,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">ios_base::openmode which =
+ios_base::out|ios_base::in);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_stringstream(basic_stringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// 27.7.5.1 Assign/swap:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringstream&&
+rhs);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// Members:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_stringbuf<charT,traits,<u>Alloc</u>>*
+rdbuf() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style=
+"font-size: 9pt">basic_string<charT,traits,<u>Alloc</u>>
+str() const;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void str(const
+basic_string<charT,traits,<u>Alloc</u>>& str);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">private:</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">// basic_stringbuf<charT, traits>
+sb; exposition only</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class charT, class traits,
+<u>Allocator Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">template <class charT, class traits,
+<u>Allocator</u></font> <font size="2" style=
+"font-size: 9pt"><u>Alloc</u>></font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringstream<charT,
+traits, <u>Alloc</u>>&& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringstream<charT, traits,
+<u>Alloc</u>>& y);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">template <class charT, class traits,
+<u>Allocator</u></font> <font size="2" style=
+"font-size: 9pt"><u>Alloc</u>></font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">void swap(basic_stringstream<charT,
+traits, <u>Alloc</u>>& x,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">basic_stringstream<charT, traits,
+<u>Alloc</u>>&& y);</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">}</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 73</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">27.8.1.14</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">It is a problem from C++98, fstream cannot appoint
+a filename of wide character string(const wchar_t and const
+wstring&).</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add interface corresponding to wchar_t,
+char16_t and char32_t.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 86</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">28</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The regular expressions chapter is not
+concept enabled.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+309</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">28</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Regular expressions cannot be used in constrained
+templates</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints for the regular expression library, clause 28</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+310</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">28</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The regex
+chapter uses iterators in the old pre-concept style, it should be
+changed to use concepts instead.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Use concepts
+for iterator template arguments throughout.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+314</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">28.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The swap overloads for regex classes are only
+supplied for l-value references. Other sections of the library (eg
+21 strings or 23 containers) provide two extra overloads taking an
+r-value reference as the first and second argument
+respectively.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the
+missing overloads to 28.4 and the corresponding later sections in
+28 for each swap function. We want to accept AMs paper which
+proposes a single overload with two r-value references</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+315</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">28.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">p6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">6 Effects: string_type str(first, last); return
+use_facet<collate<charT> >(
+getloc()).transform(&*str.begin(), &*str.end()); Is it
+legal to dereference str.end() ?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Reword to
+effect clause to use legal iterator dereferences</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+316</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">28.4
+ff</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The constructors for regex classes do not have an
+r-value overload.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add the
+missing r-value constructors to regex classes.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+317</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">28.8</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">basic_string
+has both a constructor and an assignment operator that accepts an
+initializer list, basic_regex should have the same.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">In the basic_regex synopsis, after:
+basic_regex& operator=(const charT* ptr); add: basic_regex&
+operator=(initializer_list<charT> il); And after paragraph 20
+add: basic_regex& operator=(initializer_list<charT> il);
+Effects: returns assign(il.begin(), il.end());</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 74</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">28.8</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in">“<font size="2"
+style="font-size: 9pt">basic_regx & operator=
+(initializer_list<T>);” is not defined.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add basic_regx & operator=
+(initializer_list<T>);</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+318</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">28.8.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">para
+22</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Constructor definition should appear with the
+other constructors not after assignment ops.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move para 22
+to just after para 17.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+319</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">28.12.2</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">It was always
+expected that regex_token_iterator would be constructible from an
+array literal: indeed ideally this is the prefered method of
+initializing such an object. However, the best we could do in C++0x
+was: template <std::size_t N>
+regex_token_iterator(BidirectionalIterator a, BidirectionalIterator
+b, const regex_type& re, const int (&submatches)[N],
+regex_constants::match_flag_type m =
+regex_constants::match_default); Now that we have initializer_lists
+we should use them to remove this particular wart.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">To the synopsis for regex_token_iterator, after
+template <std::size_t N>
+regex_token_iterator(BidirectionalIterator a, BidirectionalIterator
+b, const regex_type& re, const int (&submatches)[N],
+regex_constants::match_flag_type m =
+regex_constants::match_default); add
+regex_token_iterator(BidirectionalIterator a, BidirectionalIterator
+b, const regex_type& re, initializer_list<int>
+submatches, regex_constants::match_flag_type m =
+regex_constants::match_default); In 28.12.2.1 add the declaration:
+regex_token_iterator(BidirectionalIterator a, BidirectionalIterator
+b, const regex_type& re, initializer_list<int>
+submatches, regex_constants::match_flag_type m =
+regex_constants::match_default); And to the end of para 3 add: The
+forth constructor initializes the member subs to hold a copy of the
+sequence of integer values in the range [submatches.begin(),
+submatches.end()).</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 87</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The atomics chapter is not concept
+enabled. The adopted paper, N2427, did have those concepts.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+311</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">29</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Atomic types cannot be used generically in a
+constrained template</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints for the atomics library, clause 29</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+312</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">29</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The contents
+of the <stdatomic.h> header are not listed anywhere, and
+<cstdatomic> is listed as a C99 header in chapter 17. If we
+intend to use these for compatibility with a future C standard, we
+should not use them now.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Remove
+<cstdatomic> from the C99 headers in table 14. Add a new
+header <atomic> to the headers in table 13. Update chapter 29
+to remove reference to <stdatomic.h> and replace the use of
+<cstdatomic> with <atomic>. If and when WG14 adds
+atomic operations to C we can add corresponding headers to table 14
+with a TR.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 75</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">A definition of enum or struct is the
+style of C using typedef.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Change to a style of C++.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">29.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>typedef</u> enum memory_order
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">memory_order_relaxed,
+memory_order_consume, memory_order_acquire,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">memory_order_release,
+memory_order_acq_rel, memory_order_seq_cst</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">} memory_order;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">enum memory_order {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">memory_order_relaxed,
+memory_order_consume, memory_order_acquire,</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">memory_order_release,
+memory_order_acq_rel, memory_order_seq_cst</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">29.3.1</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>typedef</u> struct atomic_bool
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">} atomic_bool;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct atomic_bool {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>typedef</u> struct
+atomic_<i>itype</i> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">} atomic_<i>itype</i>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct atomic_<i>itype</i> {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">29.3.2</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>typedef</u> struct atomic_address
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">} atomic_address;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct atomic_address {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">29.5</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>typedef</u> struct atomic_flag
+{</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">} atomic_flag;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">}</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">namespace std {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct atomic_flag {</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">...</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">};</font>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">}</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+313</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">29.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">seq_cst
+fences don't necessarily guarantee ordering
+http://home.twcny.rr.com/hinnant/cpp_extensions/issues_preview/lwg-active.html#926>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a new paragraph after 29.1 [atomics.order]p5
+that says For atomic operations A and B on an atomic object M,
+where A and B modify M, if there are memory_order_seq_cst fences X
+and Y such that A is sequenced before X, Y is sequenced before B,
+and X precedes Y in S, then B occurs later than A in the
+modifiction order of M.</font>
+<p align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 88</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">The "lockfree" facilities do not tell the
+programmer enough.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Expand the "lockfree" facilities. See
+the attached paper "Issues with the C++ Standard" under Chapter 29,
+"atomics.lockfree doesn't tell the programmer enough"</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 89</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29.3.1</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Table 122</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The types in the table "Atomics for
+standard typedef types" should be typedefs, not classes. These
+semantics are necessary for compatibility with C.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Change the classes to typedefs.</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Google</font>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 90</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Are atomic functions allowed to have non-volatile
+overloads?</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Allow non-volatile overloads. See the
+attached paper "Issues with the C++ Standard, under Chapter 29,
+"Are atomic functions allowed to have non-volatile
+overloads?"</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 91</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">Whether or not a failed compare_exchange is a RMW
+operation (as used in 1.10 [intro.multithread]) is unclear.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">Make failing compare_exchange operations</font>
+<strong><font size="2" style="font-size: 9pt">not</font></strong>
+<font size="2" style="font-size: 9pt">be RMW. See the attached
+paper under "atomic RMW status of failed
+compare_exchange"</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 92</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">29.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">The effect of memory_order_consume with atomic RMW
+operations is unclear.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Follow the lead of fences
+[atomics.fences], and promote memory_order_consume to
+memory_order_acquire with RMW operations.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 76</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">A description for "<i>Throws:</i>
+Nothing." are not unified.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">At the part without throw,
+"<i>Throws:</i> Nothing." should be described.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Add "<i>Throws:</i> Nothing." to the
+following.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">30.2.1.6 , 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">30.3.3.1 , 4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">30.3.3.2.1 , 6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">30.4.1 , 7</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">and 8</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 11pt"><font size="2" style="font-size: 9pt">30.4.2 ,
+6</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup><font size="2" style=
+"font-size: 9pt">, 7</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup><font size="2" style=
+"font-size: 9pt">,19</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup><font size="2" style=
+"font-size: 9pt">,21th and 25</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph</font></font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 93</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">ge</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">The thread chapter is not concept
+enabled.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p align="justify" style=
+"margin-right: -0.18in; margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">UK<br>
+320</font>
+<p><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">30</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Threads
+library cannot be used in constrained templates</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide
+constraints for the threads library, clause 30</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+321</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">30</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Throughout this clause, the term Requires: is used
+to introduce compile time requirements, which we expect to be
+replaced with concepts and requires in code. Run-time preconditions
+are introduced with the term "Preconditions:" which is not a
+defined part of the library documentation structure (17.5.2.4).
+However, this is exactly the direction that BSI would like to see
+the organisation move, replacing Requires: clauses with
+Preconditions: clasues throught the library. See comment against
+clause 17 for more details.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Decument
+Preconditions: paragraphs in 17.5.2.4, and use consistently through
+rest of the library.</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 94</font>
+<td>
+<p><font size="2" style="font-size: 9pt">30.1.2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">The first sentence of para
+1 suggests that no other library function is permitted to call
+operating system or low level APIs.</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">Rewrite para 1 as: “
+<font color="#000000">Some functions described in this Clause are
+specified to throw exceptions of type system_error
+(</font><font color="#0000FF">19.4.5</font> <font color=
+"#000000">). Such exceptions shall be thrown if a call to an
+operating system or underlying API results in an error that
+prevents the library function from satisfying its postconditions or
+from returning a meaningful value.”</font></font>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 95</font>
+<td>
+<p><font size="2" style="font-size: 9pt">30.1.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p>“<font size="2" style=
+"font-size: 9pt">native_handle_type” is a typedef, not a
+class member.</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Several classes described in this Clause have a
+member native_handle (of type native_handle_type) . The</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">presence of this member and its
+semantics is implementation defined. [ Note: This member allows
+implementations to provide access to implementation details. The
+name of the member and the type are specified to facilitate
+portable compile-time detection. Actual use of this member or the
+corresponding type is inherently non-portable. —end note
+]</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 96</font>
+<td>
+<p><font size="2" style="font-size: 9pt">30.1.4</font>
+<td>
+<p><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">There is no definition
+here for monotonic clock.</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">Implementations should use a <i>monotonic
+clock</i> to measure time for these functions. A monotonic clock
+measures real time, but cannot be set, and is guaranteed to have no
+negative clock jumps.</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+322</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.1.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Not all systms can provide a monotonic clock. How
+are they expected to treat a _for function?</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add at least
+a note explaining the intent for systems that do not support a
+monotonic clock.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+323</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The presence of a non-explicit variadic template
+constructor alongside an explicit single-argument constructor can
+lead to behaviour that is not intended: the variadic constructor
+will be selected for implicit conversions, defeating the purpose of
+the explicit single-argument constructor. Additionally the
+single-argument constructor is redundant; the variadic constructor
+can provide identical functionality with one *fewer* copies if the
+supplied func is an lvalue.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Mark
+constructor template <class F, class ...Args>
+thread(F&& f, Args&&... args); as explicit and
+remove the single-argument constructor.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+324</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.2.1.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">thread::id objects should be as useable in hashing
+containers as they are in ordered associative containers.</font>
+<p align="left"><br>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add thread::id support for std::hash</font>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left" style="margin-bottom: 0in"><br>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 77</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.2.1.2</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">"CopyConstructible" and "MoveConstructible" in
+"<i>Requires:</i> F and each Ti in Args shall be CopyConstructible
+if an lvalue and otherwise MoveConstructible." are reflected by
+interface.</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Add a concept for constructor of
+thread.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 78</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.2.1.2</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 11pt"><font size="2" style=
+"font-size: 9pt">4</font><sup><font size="2" style=
+"font-size: 9pt">th</font></sup> <font size="2" style=
+"font-size: 9pt">paragraph, 1</font><sup><font size="2" style=
+"font-size: 9pt">st</font></sup> <font size="2" style=
+"font-size: 9pt">line</font></font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">In "F and each Ti in Args", 'Ti' is not
+clear.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Replace "Ti" with "args"</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">US 97</font>
+<td>
+<p><font size="2" style="font-size: 9pt">30.2.1.3</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p><font size="2" style="font-size: 9pt">detach-on-destruction may
+result in “escaped” threads accessing objects with
+bounded lifetime after the end of their lifetime.</font>
+<td>
+<p><font size="2" style="font-size: 9pt">See document WG21
+N2802=08-0312 written by Hans Boehm.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">US 98</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.2.1.3, 30.2.1.4</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">The current defined behavior for the std::thread
+destructor is to detach the thread. Unfortunately, this behavior
+exposes programmers to tricky, hard-to-diagnose, undefined
+behavior.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Change destruction behavior to undefined
+behavior, with a note strongly encouraging termination. See the
+attached paper "Issues with the C++ Standard" under Chapter 30,
+"Implicit thread detach is harmful".</font>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+325</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.3.3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">We believe
+constexpr literal values should be a more natural expression of
+empty tag types than extern objects as it should improve the
+compilers ability to optimize the empty object away
+completely.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Replace the extern declarations: extern const
+defer_lock_t defer_lock; extern const try_to_lock_t try_to_lock;
+extern const adopt_lock_t adopt_lock; with constexpr values
+constexpr defer_lock_t defer_lock{}; constexpr try_to_lock_t
+try_to_lock{}; constexpr adopt_lock_t adopt_lock{};</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+326</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.3.3.2.1</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">The precondition that the mutex is not owned by
+this thread offers introduces the risk of un-necessary undefined
+behaviour into the program. The only time it matters whether the
+current thread owns the mutex is in the lock operation, and that
+will happen subsequent to construction in this case. The lock
+operation has the identical pre-condition, so there is nothing
+gained by asserting that precondition earlier and denying the
+program the right to get into a valid state before calling
+lock.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Strike
+30.3.3.2.1p7</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+327</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.3.3.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">4, 9, 14,
+19</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Not clear what the specification for error
+condition resource_deadlock_would_occur means. It is perfectly
+possible for this thread to own the mutex without setting owns to
+true on this specific lock object. It is also possible for lock
+operations to succeed even if the thread does own the mutex, if the
+mutex is recursive. Likewise, if the mutex is not recursive and the
+mutex has been locked externally, it is not always possible to know
+that this error condition should be raised, depending on the host
+operating system facilities. It is possible that 'i.e.' was
+supposed to be 'e.g.' and that suggests that recursive locks are
+not allowed. That makes sense, as the exposition-only member owns
+is boolean and not a integer to count recursive locks.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+precondition !owns. Change the 'i.e.' in the error condition to be
+'e.g.' to allow for this condition to propogate deadlock detection
+by the host OS.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+328</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.3.3.2.2</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">20</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">There is a
+missing precondition that owns is true, or an if(owns) test is
+missing from the effect clause</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Add a precondition that owns == true. Add an error
+condition to detect a violation, rather than yield undefined
+behaviour.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+329</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">future,
+promise and packaged_task provide a framework for creating future
+values, but a simple function to tie all three components together
+is missing. Note that we only need a *simple* facility for C++0x.
+Advanced thread pools are to be left for TR2.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Provide a simple function along the lines of:
+template< typename F, typename ... Args > requires
+Callable< F, Args... > future< Callable::result_type >
+async( F&& f, Args && ... ); Semantics are similar
+to creating a thread object with a packaged_task invoking f with
+forward<Args>(args...) but details are left unspecified to
+allow different scheduling and thread spawning implementations. It
+is unspecified whether a task submitted to async is run on its own
+thread or a thread previously used for another async task. If a
+call to async succeeds, it shall be safe to wait for it from any
+thread. The state of thread_local variables shall be preserved
+during async calls. No two incomplete async tasks shall see the
+same value of this_thread::get_id(). [Note: this effectively forces
+new tasks to be run on a new thread, or a fixed-size pool with no
+queue. If the library is unable to spawn a new thread or there are
+no free worker threads then the async call should fail.]</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+330</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.1</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">30.5.1 (and
+then 30.5.7) refer to a specialisation of
+constructible_with_allocator_prefix<> However this trait is
+not in the CD, so references to it should be removed.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Remove the reference to
+constructible_with_allocator_prefix in 30.5.1 Remove paragraph
+30.5.7</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 79</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.5.1</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">The concept of UsesAllocator and
+Allocator should be used.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class R, class
+Alloc></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct
+uses_allocator<promise<R>, Alloc>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">struct
+constructible_with_allocator_prefix<promise<R>
+>;</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template<class R, Allocator
+Alloc></font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">concept_map UsesAllocator<promise<R>,
+Alloc>;</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+331</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.3</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Not clear what it means for a public constructor
+to be 'exposition only'. If the intent is purely to support the
+library calling this constructor then it can be made private and
+accessed through friendship. Otherwise it should be documented for
+public consumption.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Declare the
+constructor as private with a note about intended friendship, or
+remove the exposition-only comment and document the
+semantics.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+332</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ed</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is not clear without reference to the original
+proposal how to use a future. In particular, the only way for the
+user to construct a future is via the promise API which is
+documented after the presentation of future. Most library clauses
+feature a small description of their components and intended use,
+it would be most useful in this case.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Provide a
+small introductory paragraph, docuenting intended purpose of the
+future class template and the way futures can only be created via
+the promise API.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+333</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">We expect the
+complicated 3-signature specifcation for future::get() to be
+simplified to a single signature with a requires clause by the
+application of concepts.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Requires
+fully baked concepts for clause 30</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+334</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.4</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">5</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Behaviour of get() is undefined if calling get()
+while not is_ready(). The intent is that get() is a blocking call,
+and will wait for the future to become ready.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Effects: If
+is_ready() would return false, block on the asynchronous result
+associated with *this.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+335</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">std::unique_future is MoveConstructible, so you
+can transfer the association with an asynchronous result from one
+instance to another. However, there is no way to determine whether
+or not an instance has been moved from, and therefore whether or
+not it is safe to wait for it. std::promise<int> p;
+std::unique_future<int> uf(p.get_future());
+std::unique_future<int> uf2(std::move(uf)); uf.wait(); //
+oops, uf has no result to wait for.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+"waitable()" function to unique_future (and shared_future) akin to
+std::thread::joinable(), which returns true if there is an
+associated result to wait for (whether or not it is ready). Then we
+can say: if(uf.waitable()) uf.wait();</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+336</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.4</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">It is possible to transfer ownership of the
+asynchronous result from one unique_future instance to another via
+the move-constructor. However, it is not possible to transfer it
+back, and nor is it possible to create a default-constructed
+unique_future instance to use as a later move target. This unduly
+limits the use of unique_future in code. Also, the lack of a
+move-assignment operator restricts the use of unique_future in
+containers such as std::vector - vector::insert requires
+move-assignable for example.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a default
+constructor with the semantics that it creates a unique_future with
+no associated asynchronous result. Add a move-assignment operator
+which transfers ownership.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 80</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.5.4 , 30.5.5</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Typo, duplicated ">"</font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">"class Period>>"</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">Remove one</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+337</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">shared_future should support an efficient move
+constructor that can avoid unnecessary manipulation of a reference
+count, much like shared_ptr</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a move
+constructor</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+338</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.5</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">shared_future
+is currently CopyConstructible, but not CopyAssignable. This is
+inconsistent with shared_ptr, and will surprise users. Users will
+then write work-arounds to provide this behaviour. We should
+provide it simply and efficiently as part of shared_future. Note
+that since the shared_future member functions for accessing the
+state are all declared const, the original usage of an immutable
+shared_future value that can be freely copied by multiple threads
+can be retained by declaring such an instance as "const
+shared_future".</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Remove "=delete" from the copy-assignment operator
+of shared_future. Add a move-constructor
+shared_future(shared_future&& rhs), and a move-assignment
+operator shared_future& operator=(shared_future&& rhs).
+The postcondition for the copy-assignment operator is that *this
+has the same associated state as rhs. The postcondition for the
+move-constructor and move assignment is that *this has the same
+associated as rhs had before the constructor/assignment call and
+that rhs has no associated state.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+339</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">6,
+7</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Move
+assignment is goiing in the wrong direction, assigning from *this
+to the passed rvalue, and then returning a reference to an unusable
+*this</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Strike 6. 7 Postcondition: associated state of
+*this is the same as the associated state of rhs before the call.
+rhs has no associated state.</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+340</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">11, 12,
+13</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">There is an implied postcondition that the state
+of the promise is transferred into the future leaving the promise
+with no associated state. It should be spelled out.</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style=
+"font-size: 9pt">Postcondition: *this has no associated
+state.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+341</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">promise::swap
+accepts its parameter by lvalue reference. This is inconsistent
+with other types that provide a swap member function, where those
+swap functions accept an rvalue reference</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Change
+promise::swap to take an rvalue reference.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+342</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.6</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">std::promise is missing a non-member overload of
+swap. This is inconsistent with other types that provide a swap
+member function</font>
+<p align="left"><br>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add a
+non-member overload void swap(promise&& x,promise&&
+y){ x.swap(y); }</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+343</font>
+<td>
+<p align="justify"><font size="2" style=
+"font-size: 9pt">30.5.6</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">3</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Te</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">The move
+constructor of a std::promise object does not need to allocate any
+memory, so the move-construct-with-allocator overload of the
+constructor is superfluous.</font>
+<td>
+<p align="left" style="margin-bottom: 0in"><font size="2" style=
+"font-size: 9pt">Remove the constructor with the signature template
+<class Allocator> promise(allocator_arg_t, const
+Allocator& a, promise& rhs);</font>
+<p align="left"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">JP 81</font>
+<td>
+<p lang="en-GB" align="left"><font size="2" style=
+"font-size: 9pt">30.5.8</font>
+<td>
+<p lang="en-GB" align="left"><br>
+<td>
+<p><font size="2" style="font-size: 9pt">ed</font>
+<td>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><font size=
+"2" style="font-size: 9pt">There are not requirements for F and a
+concept of Allocator dose not use.</font>
+<td>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">Correct as follows.</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><br>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(F f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F, class
+Allocator></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(allocator_arg_t,
+const Allocator& a, F f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(F&&
+f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F, class
+Allocator></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(allocator_arg_t,
+const Allocator& a, F&& f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">should be</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(F f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F, <u>Allocator
+Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(allocator_arg_t,
+const <u>Alloc</u>& a, F f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">explicit packaged_task(F&&
+f);</font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"> 
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">template <class F, <u>Allocator
+Alloc</u>></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt"><u>requires CopyConstructible<F>
+&& Callable<F, ArgTypes...></u></font>
+<p lang="en-GB" align="left" style="margin-bottom: 0in"><font size=
+"2" style="font-size: 9pt">&& Convertible<Callable<F,
+ArgTypes...>::result_type, R></font>
+<p lang="en-GB" align="left" style=
+"margin-top: 0.04in; margin-bottom: 0.04in"><font size="2" style=
+"font-size: 9pt">explicit packaged_task(allocator_arg_t, const
+<u>Alloc</u>& a, F&& f);</font>
+<p lang="en-GB" align="left" style="margin-top: 0.04in"><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-23</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Annex B</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-23 Recursive use of
+constexpr functions appears to be permitted. Since such functions
+may be required to be evaluated at compile-time, Annex B
+"implementation quantities" should specify a maximum depth of
+recursion.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">In Annex B, specify a
+recursion depth of 256 or a larger value.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-24</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Annex B</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-24 The number of
+placeholders for "bind" is implementation-defined in 20.7.12.1.4,
+but no minimum is suggested in Annex B.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Add a miminum of 10
+placeholders to Annex B.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">DE-25</font>
+<td>
+<p><font size="2" style="font-size: 9pt">Annex B</font>
+<td>
+<p><font size="2" style="font-size: 9pt">p2</font>
+<td>
+<p><font size="2" style="font-size: 9pt">te</font>
+<td>
+<p lang="en-GB" style="margin-top: 0.04in; margin-bottom: 0.04in">
+<font size="2" style="font-size: 9pt">DE-25 Specifying a minimum of
+17 recursively nested template instantiations is too small for
+practical purposes. The limit is too high to effectively limit
+compiler resource usage, see
+http://ubiety.uwaterloo.ca/~tveldhui/papers/2003/turing.pdf . The
+conclusion is that the metric "number of recursively nested
+template instantiations" is inapposite.</font>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt">Remove the bullet
+"Recursively nested template instantiations [17]".</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 38</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">C.2 [diffs.library]</font>
+<td>
+<p><font size="2" style="font-size: 9pt">1</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">What is ISO/IEC 1990:9899/DAM 1? My guess
+is that's a typo for ISO/IEC</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">9899/Amd.1:1995 which I'd have expected to
+be referenced here (the tables</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">make reference to things which were
+introduced by Amd.1).</font>
+<p><br>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">One need probably a reference to the
+document which introduce char16_t and</font>
+<p><font size="2" style="font-size: 9pt">char32_t in C (ISO/IEC TR
+19769:2004?).</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">UK<br>
+344</font>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Appendix
+D</font>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><font size="2" style="font-size: 9pt">Ge</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">It is
+desirable to allow some mechanism to support phasing out of
+deprecated features in the future. Allowing compilers to implement
+a mode where deprecated features are not available is a good first
+step.</font>
+<td>
+<p align="left"><font size="2" style="font-size: 9pt">Add to the
+definition of deprecated features permission for compilers to
+maintain a conditionally supported mode where deprecated features
+can be disabled, so long as they also default to a mode where all
+deprecated features are supported.</font>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><font size="2" style="font-size: 9pt">FR 39</font>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">Index</font>
+<td>
+<p><br>
+<td>
+<p><font size="2" style="font-size: 9pt" face=
+"Arial, sans-serif">ed</font>
+<td>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">Some definitions seem not indexed (such as
+/trivially copyable/ or</font>
+<p style="margin-bottom: 0in"><font size="2" style="font-size: 9pt"
+face="Arial, sans-serif">/sequenced before/), indexing them would
+be useful (and marking specially the page -- say bold or italic --
+which reference to the definition would increase the usefulness;
+having a separate index of all definitions is something which could
+also be considered).</font>
+<p><br>
+<td>
+<p><br>
+<td>
+<p><br>
+<tr valign="top">
+<td>
+<p><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="justify"><br>
+<td>
+<p align="left"><br>
+<td>
+<p><br></table></div>
\ No newline at end of file