<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>N1459 -- Minutes of J16 Meeting, April 7-11, 2003</title>
</head>

<body>
<pre>
<br>
                                        Doc No:   SC22/WG21/N1459
                                                  J16/03-0042
                                        Date:     April 25, 2003
                                        Project:  JTC1.22.32
                                        Reply to: Robert Klarer
                                                  IBM Canada, Ltd.
                                                  klarer@ca.ibm.com
</pre>

<h1>
Minutes of J16 Meeting No. 36/WG21 Meeting No. 31, April 7-11, 2003
</h1>

<h2>
1. Opening activities
</h2>
Clamage called the meeting to order at 9:22am on Monday, April 7, 2003

<h3>
1.1 Opening comments
</h3>
Clamage reviewed networking arrangements for this meeting.
Glassborow discussed attendees' options for lunch.

<h3>
1.2 Introductions
</h3>
Clamage had the attendees introduce themselves.

<h3>
1.3 Membership, voting rights, and procedures for the meeting
</h3>
Clamage reviewed membership and voting rules.  Nelson circulated the attendance list and membership list.

<h3>
1.4 Agenda review and approval
</h3>
Clamage presented the agenda (document 03-0003/N1421).<p>

Plauger had a concern that the discussion of export would be held during an evening technical session (agenda item 4.1, "Why We Can't Afford Export"), as the issue is too important to be discussed during an evening session.<p>

Clamage assured Plauger that no votes would be taken during the evening session, and that the session would consist only of technical discussion.<p>

Plauger stressed the importance of this issue, not only from a technical point of view, but from the point of view of process and procedure.<p>

Plum suggested that some committee time during the day be devoted to the discussion of process and procedure.<p>

Clamage observed that time could be allotted from the schedule on Thursday.<p>

Discussion followed concerning the time on Thursday during which this session would be held.<p>

Clamage concluded that this session would be held from 1:30pm to 3:30pm on Thursday.<p>

Evening technical sessions:<br>
Clamage indicated that the evening technical sessions will begin at 7:30pm on Monday and Tuesday.<p>

<b>Motion to approve the agenda as amended:</b><br>
<b>Mover:</b> Plum<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>15</td>
<td>0</td>
<td>0</td>
</tr>
</table>

<h3>
1.5 Distribution of position papers, WG progress reports, WG work plans for the week, and other documents that were not distributed before the meeting.
</h3>
There were no papers or documents.<p>

Adamczyk mentioned that the Core Working Group (CWG) had intended to discuss issues that were of interest to members of other working groups.  The various Working Group chairs will meet to agree on arrangements so that interested parties may participate.<p>

Austern reported that the Library Working Group (LWG) would continue its work of processing DRs and discussing proposals for inclusion in the TR.<p>

Goldthwaite reported that the vote to register the Performance TR has been approved.<p>

Stroustrup suggested that the Evolution Working Group (EWG) needed to establish an issues list and to establish an overall direction for the evolution of the language.  Stroustrup intended to begin by emphasizing proposals that sought to "remove embarassments" and proposals that will facilitate the construction of libraries.

<h3>
1.6 Approval of the minutes of the previous meeting
</h3>

<b>Motion to approve the minutes:</b><br>
<b>Mover:</b> Charney<br>
<b>Seconder:</b> Glassborow<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>15</td>
<td>0</td>
<td>0</td>
</tr>
</table>

<h3>
1.7 Report on the WG21 Sunday meeting
</h3>
Sutter reported that 9 countries were officially represented at this meeting, and that the drafting committee for this meeting was composed of Steve Adamczyk, Matt Austern, and Gabriel Dos Reis.<p>

Sutter also reported that there was discussion in the WG21 meeting about the need for a base document for the C++0x effort.  It was proposed that TC1 (document number 14882:2003(E) ) be used for this purpose.<p>

Adamczyk expressed concern about the proposed new working paper.  His specific comments were:<br>
<ul>
<li>this proposal effectively commits the project editor to new work</li>
<li>TC1 does not reflect the resolutions of all of the issues in DR state</li>
<li>as long as the committee maintains both a new working paper and a TC document, there will be duplication of effort and potential for error</li>
</ul>
<p>
Adamczyk asked whether there would be a TC2.<p>

Glassborow suggested that we should agree that there will be no TC2, and that we will begin work on a revised standard.<p>

After some discussion, there was concensus that the base document for the C++0x effort will be equivalent to 14882:2003(E) with all DRs applied.  It was agreed that this decision would be moved for formal voting during the Friday session.  There was tacit agreement that there will be no TC2 in the form of a revised standard.<p>

Sutter reviewed the schedule for future meetings:
<ol>
<li>October 26-31 2003, Kona HI, hosted by Plum Hall</li>
<li>Spring 2004, we have received an invitation from Whitesmiths Australia, to convene in Sydney, Australia; the likely dates are March 21-26, 2004</li>
<li>Fall 2004, invitation from Microsoft to host in Redmond</li>
</ol>

<h3>
1.8 Liaison reports
</h3>
<h4>WG14 Liaison</h4>
Glassborow reported that the WG14 embedded C TR is almost done, and that the mood of the committee is that there is no need to revise the C standard.<br>
Glassborow also reviewed the group's discussion of sequence points.<p>

Plum reported that nine members of WG14 at the meeting were liaisons from C++ to C.<br>
Plum took a count of liaisons from C to C++ among WG21 members at this meeting.  Plum counted 8 liaisons.<br>
Plum reviewed the 16-bit and 32-bit character types that were approved for C.<p>

T. Plauger reviewed document N996, the embedded C TR, and document N998, concerning extended character types.<p>

Sutter reported that Martyn Lovell's paper 997 on C library security was presented to WG14.<br>
A similar paper will be presented to WG21 in the Monday night technical session.

<h3>
1.9 New business requiring actions by the committee
</h3>

<h2>
2. Organize subgroups, establish working procedures.
</h2>
We have four subgroups, Core, Library, Evolution, and Performance.<p>

The committee broke into subgroups at 10:30am.

<h2>
3. WG sessions (Core, Library, Performance, Evolution).
</h2>

<h3>
3.1 Technical Session, Standard Library Security, Martyn Lovell, Microsoft.
</h3>

<h2>
4. WG sessions continue.
</h2>

<h3>
4.1 Technical Session, "Why We Can't Afford Export", N1426, Herb Sutter and Tom Plum
</h3>

<h2>
5. WG sessions continue.
</h2>

<h2>
6. General session.
</h2>

Clamage: there will be a formal vote Friday to approve or withdraw the standard.  The result of this formal vote will be sent to INCITS.

<h3>
6.1 WG status and progress reports.
</h3>

<b>Core Working Group progress:</b>
<p>

Adamczyk reported that most of the CWG's time was devoted to DR processing.  All items in Ready state except one will be proposed for integration into the Working Paper.  One issue requested a relaxation of the rules for the placement of the typename keyword.  CWG has decided in principle to permit typename to be used with qualified names in any context, even outside of templates.  The requester, P J Plauger has requested that typename be permitted on any name that is a type, including both qualified names and unqualified names.<p>

Plauger reviewed his request for the group.<p>

Crowl claimed that syntactical ambiguities would arise if typename could be applied to unqualified names.<p>

Spicer suggested that these ambiguities already exist.<p>

Austern asked whether this proposal would allow a programmer to disambiguate code in ways that are not possible today.  The consensus opinion of the group was that the answer to Austern's question was "no."<p>

Adamczyk reviewed Core Issue 339 concerning the use of an arbitrary expression as an operand to a sizeof expression that is used as a template parameter.  Template argument deduction does not currently work in this sort of case in most C++ compilers.  To make this work compilers may need to make ABI changes.  Adamczyk invited the group to express opinions to him about whether this sort of deduction should work, and -- more specifically -- in which cases it should or should not work.<p>

example:

<pre>extern "C" int printf(const char *, ...);
char f(int);
int f(...);
// Approach 1 -- overload resolution in template class
// No problem
template &lt;class T&gt; struct conv_int {
  static const bool value = (sizeof(f(T())) == 1);
};
// Approach 2 -- overload resolution in type deduction
// Difficult
template &lt;int I&gt; struct A {
  static const int value = I;
};
template &lt;class T&gt; bool conv_int2(A&lt;sizeof(f(T()))&gt; p) {
  return p.value == 1;
}
int main() {
  printf("short: %d\n", conv_int&lt;short&gt;::value);
  printf("int *: %d\n", conv_int&lt;int *&gt;::value);
  printf("short: %d\n", conv_int2&lt;short&gt;());
  printf("int *: %d\n", conv_int2&lt;int *&gt;());
}
</pre>

<b>Evolution Working Group progress:</b>
<p>

Stroustrup reported that the EWG will not be bringing forward any formal motions at this meeting.<p>

Some specific proposals that had been discussed by EWG included:
<ul>
<li>Glassborow's proposal titled "Class defaults" (N1445/03-0027)</li>
<li>typedef templates; a solution was considered that allows specialization of typedefs and aliasing of templates, and a paper is forthcoming.</li>
<li>typeof; among others, a solution involving the use of a new keyword named decltype was considered</li>
<li>auto for argument types and return types; no decision was made</li>
<li>#scope/#endscope -- #restrict_macro/#end_restrict_macro were considered as alternate names</li>
<li>dynamic libraries in C++, in a discussion lead by Pete Becker</li>
<li>extern templates; there will be a paper and possibly a formal motion in Kona</li>
<li>templates with local types as type arguments; Stroustrup reported that most implementers seemed to think that this was an easy change, so the generality that is afford by this change might be justified in light of its reportedly low cost</li>
</ul>
<p>

Austern asked whether C committee was approached concerning ideas about changing the preprocessor.<br>
Stroustrup answered: not yet.  We need to develop the idea further and to write a paper.<p>

Stroustrup also recalled that Vandevoorde hosted an information session in which he presented his C++ metaprogramming project<p>

<b>Library Working Group progress:</b>
<p>

Austern reported that the LWG spent most of the week reviewing proposals to the Library TR, and that many proposals have been accepted in principle by the LWG for inclusion in the TR.<p>

Austern also noted that some LWG issues in Ready Status will be moved for approval as DRs.<p>

Austern reviewed two TR proposals that were controversial among the members of the LWG: N1422/03-0004 "A Proposal to Add Mathematical Special Functions to the C++ Standard Library" and N1443/03-0025 "A Proposal to Add Hash Tables to the Standard Library."<p>

Mathematical Special Functions:<p>

Austern reported that concerns expressed among the LWG about the proposal for mathematical special functions were that these functions are suitable for C, so work on them should be coordinated with the C committee.  Also, this library is very large and complicated and the proposal may be controversial for that reason.<p>

Discussion followed concerning the suitability of a special purpose library such as this one for inclusion in the TR.<p>

Some points made during this long discussion:
<ul>
<li>Austern suggested this proposal is an excellent candidate for standardization because it establishes conventions that will be reflected in the interfaces of other libraries.</li>
<li>Dos Reis expressed concern about the prospect of imposing the cost of this library on all C++ users and implementers, when perhaps only a small proportion of C++ users might need such a library.</li>
<li>Stroustrup suggested that, if only 5% of C++ programmers need this library, that group is still larger in size than most programming language communities.</li>
<li>Vandevoorde observed that the committee must really intend to maintain the specification of this library through the long term, and that the committee has a precedent with a similar special-purpose library whose specification could not be maintained by the individuals composing the working group: valarray</li>
<li>Dawes observed that the committee has greater interest among the Working Group in mathematics today than in the past.</li>
</ul>
<p>

A straw poll was taken, and expressed opinion among the group was that this proposal should be moved for inclusion in the TR on Friday.<p>

Hash Tables:<p>

Austern reviewed the LWG discussion about the names of the containers proposed in "A Proposal to Add Hash Tables to the Standard Library."  Specifically, there had been concern that confusion and incompatibility would result if the names hash_set, hash_multiset, hash_map, and hash_multimap were used, since these names are already commonly used for similar -- but slightly different -- nonstandard containers.  A revision of the proposal (document N1456) reflects the outcome of this discussion; the names of the proposed containers have changed from hash_set, hash_multiset, hash_map, and hash_multimap, to unordered_set, unordered_multiset, unordered_map, and unordered_multimap, respectively.<p>

Discussion about these names followed.<p>

Dawes reviewed some of the alternatives that were considered by the LWG:
<ul>
<li>names that differed only by one or two characters from hash_set et al were deemed too confusing and so rejected</li>
<li>using the names hash_set et al, but declaring them in a namespace nested inside the standard namespace std had been considered but rejected as being too confusing</li>
<li>using a template parameter to distinguish set from hash_set, for example, was considered but considered too obscure and potentially confusing for users</li>
</ul>
<p>

In a straw poll, it was found that there was strong support for a motion to approve this proposal for inclusion in the TR.<p>

Austern reviewed the LWG discussion of the equality operator for the unordered containers.<p>

<b>Performance Working Group progress:</b>
<p>

Goldthwaite reported that editorial work on the Performance TR continued.  In particular, a great deal of work was devoted to the integration of changes into the document which originated from the C committee's parallel document.  The TR is now very close to completion.<p>

<h3>
6.2 Presentation and discussion of DRs ready to be voted on.  Straw votes taken.</h3>


<h3>
6.3 Discussion, "Why We Can't Afford Export."
</h3>

After much discussion a straw poll was conducted.  Members were permitted to vote for more than one of the following alternatives (or none at all):<p>

<table border=1>
<tr>
<th>
Alternative
</th>
<th>
Straw Votes
</th>
</tr>
<tr>
<td>Remove export</td><td>8</td>
</tr>
<tr>
<td>Leave in export</td><td>28</td>
</tr>
<tr>
<td>Discuss more</td><td>7</td>
</tr>
<tr>
<td>No more discussion</td><td>30</td>
</tr>
</table>

<h2>
7. WG sessions continue
</h2>

<h2>
8. Review of the meeting
</h2>

<h3>
8.1 Formal motions, including DRs to be resolved.
</h3>

<h4>General</h4>

<b>Move to affirm the existing standard, ISO/IEC 14882:1998(E).</b><br>
<b>Mover:</b> Caves<br>
<b>Seconder:</b> Plauger<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to adopt ISO/IEC 14882:2003(E) as the working paper.</b><br>
<b>Mover:</b> Charney<br>
<b>Seconder:</b> Nelson<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to amend the working paper by applying all issues whose
status is DR from N1434, "C++ Standard Core Language Defect
Reports, Revision 25".</b><br>
<b>Mover:</b> Adamczyk<br>
<b>Seconder:</b> Sutter<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to amend the working paper by applying all issues whose status is DR from N1441, "C++ Standard Library Closed Issues List Revision 25".</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Charney<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>

<h4>Performance TR</h4>

<b>Move to forward the Performance TR document to SC22 for a final vote.</b><br>
<b>Mover:</b> Goldthwaite<br>
<b>Seconder:</b> Glassborow<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to ask SC22 to make the performance TR available for free, or to authorize WG21 to make it available for free.</b><br>
<b>Mover:</b> Glassborow<br>
<b>Seconder:</b> Charney<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to direct the project editor of the performance TR to make changes of an editorial scope, such as reconciling it with the WG14 technical report WD TR 18037, fixing typographical errors, and fixing incorrect code examples.</b><br>
<b>Mover:</b> Glassborow<br>
<b>Seconder:</b> Charney<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<h4>Library</h4>

<b>Move to advance the following library working group issues to DR status, and apply them to the working paper: 187, 225, 229, 231, 278, 282, 300, 336, 358, 360, 363, 364, 370, 373, 375, 380, 381, 383.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1452, "A Proposal to Add an Extensible Random Number Facility to the Standard Library", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Glassborow<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1422, "A Proposal to Add Mathematical Special Functions to the C++ Standard Library", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Brown<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>14</td>
<td>4</td>
<td>1</td>
</tr>
<tr>
<td>WG21</td>
<td>4</td>
<td>1</td>
<td>4</td>
</tr>
</table>
<p>
The convenor ruled that the above result constituted concensus among the commitee to approve the motion.  Some discussion ensued concerning the level of discomfort among some members of the committee about this motion.<p>

<b>Move to accept N1424, "A Proposal to add Type Traits to the Standard Library", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Hinnant<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1429, "A Proposal to add Regular Expression to the Standard Library", for inclusion in the library extensions technical report</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1450, "A Proposal to Add General Purpose Smart Pointers to the Library Technical Report", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Charney<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1432, "A Proposal to Add an Enhanced Member Pointer Adaptor to the Library Technical Report", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1453, "A proposal to add a reference wrapper to the standard library", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Abrahams<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1454, "A uniform method for computing function object return types", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Abrahams<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1455, "A Proposal to Add an Enhanced Binder to the Library Technical Report", for inclusion in the library extensions technical report.</b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Marcus<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

<b>Move to accept N1456, "A Proposal to Add Hash Tables to the Standard Library (revision 4)", for inclusion in the library extensions technical report. </b><br>
<b>Mover:</b> Austern<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

Glassborow reported that he was uncomfortable with the names of the containers specified in this proposal, but that he felt that it made sense to try the name in a TR.<p>

Hinnant reported that all of the names will likely be declared in a namespace named tr1 that is nested inside the nested namespace std.<p>

<h4>Core</h4>

<b>Move to advance the following core working group issues to DR status, and apply them to the working paper:
184, 198, 204, 226, 228, 245, 254, 258, 262, 263, 274, 283, 298, 318, 322, 323, 335, 336, 337, 345, 353, 377.</b><br>
<b>Mover:</b> Adamczyk<br>
<b>Seconder:</b> Nelson<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>

There was agreement that issues that had been incorporated into the Working Paper would be assigned the status code WP.<p>

Nelson moved to thank the host.<br>
Applause.<p>

Dawes moved to thank Maurer and those others who maintained web servers throughout the meeting.<br>
Applause.<p>

<h3>
8.2 Review of action items, decisions made, and documents approved by the committee
</h3>

<h3>
8.3 Issues delayed until Friday
</h3>

<h2>
9. Plans for the future
</h2>

Glassborow apologized for the poor quality of the internet access that was available at the meeting, and invited committee members to write the hotel management to explain that their expectations were not met.<p>

Glassborow suggested that guidelines be written for hosts of future meetings to simplify their work and to allow them to benefit from the experience of previous hosts.<p>

Glassborow suggested that companies that were not willing to host meetings themselves take it upon themselves to help others to finance the cost of future meetings.<p>

<h3>
9.1 Next meeting
</h3>

Plum reminded the committee that trip information for the Fall 2003 meeting in Kona HI had been posted to the -all reflector.  <p>

<h3>
9.2 Mailings
</h3>

Nelson reported that the deadline for the post-meeting mailing will be April 25 and that the deadline for the pre-Kona meeting mailing will be September 19.<p>

<h3>
9.3 Following meetings
</h3>

covered on Monday.<p>

Plauger requested that an agenda item be created to deal with the issue concerning DLLs.<br>
There was concensus that this could be worked out in private e-mail.<p>

<b>Motion to adjourn</b><br>
<b>Mover:</b> Plauger<br>
<b>Seconder:</b> Dawes<br>
<table border=1>
<tr>
<td><b>WG</b></td>
<td><b>favor</b></td>
<td><b>oppose</b></td>
<td><b>abstain</b></td>
</tr>
<tr>
<td>J16</td>
<td>19</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>WG21</td>
<td>9</td>
<td>0</td>
<td>0</td>
</tr>
</table>
<p>
Meeting adjourned at 9:15.

<h2>
Attendance
</h2>
<table class="right" border=1>
<tr>
<th>Company/Organization</th>
<th>National Body</th>
<th>Representative</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
</tr>

<tr>
<td>Adobe Systems</td>
<td></td>
<td>Mat Marcus</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Apple Computer</td>
<td>US</td>
<td>Matthew Austern</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>AT&amp;T</td>
<td></td>
<td>Andrew Koenig</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>AT&amp;T</td>
<td>US</td>
<td>Bjarne Stroustrup</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Atlantic International</td>
<td></td>
<td>David Miller</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Borland International</td>
<td></td>
<td>John Wiegley</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Charney &amp; Day</td>
<td></td>
<td>Reg Charney</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Dinkumware</td>
<td></td>
<td>P. J. Plauger</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Dinkumware</td>
<td></td>
<td>Pete Becker</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Dinkumware</td>
<td>US</td>
<td>Tana Plauger</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>US</td>
<td>J. Stephen Adamczyk</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td></td>
<td>Daveed Vandevoorde</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td></td>
<td>John H. Spicer</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td></td>
</tr>

<tr>
<td>Fermi Nat. Accelerator Lab</td>
<td>US</td>
<td>Walter E. Brown</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Fermi Nat. Accelerator Lab</td>
<td>US</td>
<td>Marc F. Paterno</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Gimpel Software</td>
<td></td>
<td>James Gimpel</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td></td>
<td></td>
</tr>

<tr>
<td>Hewlett-Packard</td>
<td></td>
<td>Kerch Holt</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Hewlett-Packard</td>
<td></td>
<td>Vikram Kumar</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>IBM</td>
<td>CA</td>
<td>Robert Klarer</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>IBM</td>
<td>CA</td>
<td>Sandor Mathe</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Indiana University</td>
<td></td>
<td>Jeremy Siek</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Indiana University</td>
<td></td>
<td>Jaako J&auml;rvi</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Intel</td>
<td>US</td>
<td>Clark Nelson</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Intel</td>
<td></td>
<td>Gyuszy S&uuml;t&ouml;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Intel</td>
<td></td>
<td>Judy Ward</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Mathworks</td>
<td></td>
<td>William M. Miller</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Mentor Graphics</td>
<td></td>
<td>Yenjo Han</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Metrowerks</td>
<td></td>
<td>Howard E. Hinnant</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Metrowerks</td>
<td></td>
<td>Andreas Hommel</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Microsoft</td>
<td></td>
<td>Jonathan Caves</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Microsoft</td>
<td>CA</td>
<td>Herb Sutter</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Microsoft</td>
<td></td>
<td>Bobby Schmidt</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Microsoft</td>
<td></td>
<td>Brandon Bray</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>None - (Abrahams)</td>
<td></td>
<td>David Abrahams</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>None - (Dawes)</td>
<td></td>
<td>Beman G. Dawes</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>None - (Dawes)</td>
<td>US</td>
<td>William A. Seymour</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Oracle</td>
<td>US</td>
<td>Gregory Colvin</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Perennial</td>
<td></td>
<td>Barry Hedquist</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Plum Hall</td>
<td>US</td>
<td>Thomas Plum</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Programming Research</td>
<td></td>
<td>Richard Corden</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td></td>
</tr>

<tr>
<td>Rational Software</td>
<td></td>
<td>Tom Wilcox</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Red Hat</td>
<td></td>
<td>Jason Merrill</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Red Hat</td>
<td></td>
<td>Benjamin Kosnik</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Rogue Wave Software</td>
<td></td>
<td>Martin Sebor</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Silicon Graphics</td>
<td></td>
<td>John Wilkinson</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Sun Microsystems</td>
<td></td>
<td>Lawrence Crowl</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Sun Microsystems</td>
<td>US</td>
<td>Stephen D. Clamage</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Tellabs Operations</td>
<td></td>
<td>Daniel Miller</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Utah Valley State College</td>
<td></td>
<td>Chuck Allison</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>ACCU</td>
<td>UK</td>
<td>Francis W. Glassborow</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Amazon.com</td>
<td></td>
<td>Gary Powell</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>CodeSourcery</td>
<td></td>
<td>Nathan Sidwell</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>Crystal Clear Software</td>
<td></td>
<td>Jeff Garland</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>DB Systems</td>
<td></td>
<td>Jens Maurer</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>ILOG FR</td>
<td></td>
<td>Georges Schumacher</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>INRIA FR</td>
<td></td>
<td>Gabriel Dos Reis</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Logica CMG</td>
<td>NL</td>
<td>Michiel Salters</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Phaidros Software</td>
<td></td>
<td>Dietmar K&uuml;hl</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Ramtex International</td>
<td>DK</td>
<td>Jan Kristoffersen</td>
<td>N</td>
<td>N</td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>RAP</td>
<td>NO</td>
<td>Keld Simonsen</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>RPI</td>
<td></td>
<td>Doug Gregor</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>Tokyo University of Technology</td>
<td>JP</td>
<td>Ichiro Koshida</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Toshiba</td>
<td>JP</td>
<td>Seiji Hayashida</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Univ. of Coop Education</td>
<td>DE</td>
<td>Richard Kaiser</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>University of Hanover</td>
<td></td>
<td>Thomas Witt</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>Vollmann Engineering</td>
<td>CH</td>
<td>Detlef Vollmann</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td></td>
<td>UK</td>
<td>James Dennett</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td></td>
<td>UK</td>
<td>Kevlin Henney</td>
<td></td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td></td>
<td>UK</td>
<td>Lois Goldthwaite</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td></td>
<td></td>
<td>Alisdair Meredith</td>
<td>N</td>
<td>N</td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td></td>
<td></td>
<td>Christopher Hill</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td></td>
<td></td>
<td>Daniel Gutson</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td></td>
<td></td>
<td>Thorsten Ottosen</td>
<td>N</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Microlise</td>
<td>UK</td>
<td>Alan Griffiths</td>
<td></td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>

<tr>
<td>Deran Instruments</td>
<td>UK</td>
<td>Anthony Williams</td>
<td></td>
<td></td>
<td>N</td>
<td></td>
<td></td>
</tr>

<tr>
<td>twoNine Computer Service</td>
<td>UK</td>
<td>Mark Radford</td>
<td></td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
</tr>
</table>

</body>
</html>
