homepage
|
C++links
|
FAQ
|
technical FAQ
|
glossary
|
compilers
|
publications
|
C++TRs
|
TC++PL
|
D&E
|
bio
|
interviews
|
applications
|
TAMU
|
AT&T Research
My C++ Standards committee papers
Modified February 5, 2008
This is an incomplete list of papers that I
(Bjarne Stroustrup) have written or co-authored
for the C++ standards committee.
Please remember that these are incomplete proposals, discussions of alternatives,
and exploration of the design space.
Note also that these papers were all written
to a specific audience (the members of the C++ standards committee),
at a specific time (relative to the then current draft of the standard),
and as part of a specific discussion.
They are typically not ideal introcutions for a general audience.
Not all has led to or will lead to changes to C++, and most of those will "mutate" significantly
as they progress from idea/proposal to final language change.
The order is roughly reverse chronological.
I aim eventually to gather all of my standard committee papers here.
For more information (in particular for essentially all papers since 1993), see
the WG21 site.
Here is a
recent status
of work of the "Evolution Working Group";
that is, the group (headed by me) that is processing the proposals for new language features.
Please note that this is a summary, written for the EWG members; not a tutorial.
-
B. Stroustrup:
Uniform initialization design choices (Revision 2).
N2532.
February 2008.
-
J. Stephen Adamczyk, G. Dos Reis, and B. Stroustrup:
Initializer list WP wording (Revision 2).
N2531.
February 2008.
-
J. Jarvi, B. Stroustrup, G. Dos Reis:
Decltype (revision 7): proposed wording.
N2343.
July 2007.
-
D. Miller, H. Sutter, B. Stroustrup:
Strongly Typed Enums (revision 3).
N2347.
July 2007.
-
G. Dos Reis, B. Stroustrup:
Constant Expressions in the Standard Library -- Revision 2.
N2349.
July 2007.
-
I. McIntosh, M. Wong, R. Mak, R. Klarer, et al.:
User-defined Literals (aka. Extensible Literals (revision 3)).
N2378.
July 2007.
-
J. S. Adamczyk, G. Dos Reis, B. Stroustrup:
Initializer lists WP wording.
N2385.
July 2007.
-
Bjarne Stroustrup and Gabriel Dos Reis:
An analysis of concept intersection.
N2221.
March 2007.
-
G. Dos Reis, B. Stroustrup:
Initializer Lists for Standard Containers.
N2220.
March 2007.
-
G. Dos Reis, B. Stroustrup:
Constant Expressions in the Standard Library.
N2219.
March 2007.
-
P. Pirkelbauer, Y. Solodkyy, B. Stroustrup:
Report on language support for Multi-Methods and Open-Methods for C++.
N2216.
March 2007.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Initialer lists (Rev3.).
N2215.
March 2007.
-
H. Sutter, B. Stroustrup:
A name for the null pointer: nullptr (revision 3).
N2214.
March 2007.
-
H. Sutter, D. Miller, and B. Stroustrup:
Strongly Typed Enums (revision 2).
N2213.
March 2007.
-
D. Gregor, B. Stroustrup:
Proposed Wording for Concepts.
N2193.
March 2007.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Initialer lists (Rev2.).
N2100.
September 2006.
Revision of N1919.
-
D. Gregor, B. Stroustrup:
Concepts.
N2042==06-0012 . June 2006.
-
J. Jarvi, B. Stroustrup, G. Dos Reis:
Deducing the type of variable from its initializer expression (revision 4).
N1984==06-0054. June 2006.
("auto").
Approved in principle.
-
J. Jarvi, B. Stroustrup, G. Dos Reis:
Decltype (revision 5).
N1978==06-0048. June 2006.
Revision of N1705==04-0145.
Approved in principle.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Generalized constant expressions (Rev. 3).
N1980==06-0050. June 2006.
Revision of N1972==06-0042.
Approved in principle.
-
H. Hinnant, B. Stroustrup, B. Kozicki:
A Brief Introduction to
Rvalue References.
N2027==06-0097. June 2006.
Revision of N1972==06-0042.
Approved in principle.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Generalized constant expressions (Rev. 2).
N1972=06-0042. February 2006.
Revision of N1521=03-0104.
Approved in principle.
-
Jeremiah Willcock et al:
Lambda expressions and closures for C++.
N1968=06-0038. February 2006.
Discussion of design choices and best effort design.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Initialer lists.
December 2005.
-
G. Dos Reis and B. Stroustrup:
A formalism for C++.
N1885, Oct. 2005
-
G. Dos Reis and B. Stroustrup:
Specifying C++ concepts.
N1886, Oct. 2005.
-
J. Jarvi, B. Stroustrup and G. Dos Reis:
Deducing the type of a variable
from its initializer expression.
N1894, Oct. 2005.
Approved in principle.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Initialization and initializers.
September 2005.
An overview of initialization and initializer problems with suggested solutions.
Follow up: N1919, N???, N???, and N???.
-
Bjarne Stroustrup, and Gabriel Dos Reis:
A concept design (Rev. 1).
April 2005.
An attempt to synthesize a concept design based on (among other sources) N1510, N1522, and N1536.
-
Jaakko Jarvi, Bjarne Stroustrup, and Gabriel Dos Reis:
Decltype and auto (revision 4).
September 2004.
Follow up: N1894.
-
Bjarne Stroustrup:
#scope: A simple scoping mechanism for the C/C++ preprocessor.
N1614/04-0054.
In retrospect, I think #scope is a bad name for what I'm trying to achieve.
A scope implicitly let in names.
Maybe the proposal would have fared better if it had been called #macro, #nomacro, or #filter.
-
H. Sutter and B. Stroustrup:
A name for the null pointer: nullptr (revision 2).
N1601/04-0041.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Concepts -- Syntax and composition.
October 2003.
An early discussion of how to express concept checking in C++.
Follow up: N1890.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Concepts -- Design choices for template argument checking.
October 2003.
An early discussion of design criteria for concepts for C++.
Follow up: N1890.
-
Bjarne Stroustrup:
Concept checking -- A more abstract complement to type checking.
October 2003.
A discussion of models of concept checking.
Follow up: N1890.
-
G. Dos Reis and B.Stroustrup:
Generalized Initializer Lists
N1509, Sep. 2003.
Follow up: N1919.
-
Herb Sutter and Bjarne Stroustrup
A name for the null pointer: nullptr.
September 2003.
-
Lois Goldthwaithe (editor):
Technical Report on C++ Performance.
August 2003.
-
Bjarne Stroustrup and Gabriel Dos Reis:
Template aliases for C++.
July 2003.
-
J. Järvi and B. Stroustrup:
Mechanisms for querying types of expressions: decltype and auto revisited.
N1527/03-0110.
-
Bjarne Stroustrup:
Evolution WG issues list.
N1512/03-0095.
-
Bjarne Stroustrup:
Literals for user-defined types.
N1511/03-0094.
-
J. Järvi,
B. Stroustrup,
D. Gregor,
J. Siek:
Decltype and auto.
N1478/03-0061.
-
Bjarne Stroustrup:
The Problem with Default Arguments for Templates.
WG21/N1070 X3J16/97-0032.
-
Bjarne Stroustrup:
Allocators.
WG21/N0999 X3J16/96-0181.
-
John Wilkinson, Bjarne Stroustrup:
Working Paper Changes for the Template Compilation Model.
WG21/N0973 X3J16/96-0155R1
-
Bjarne Stroustrup:
Proposal to Acknowledge that Garbage Collection for C++ is Possible.
WG21/N0932 X3J16/96-0114.
-
Bjarne Stroustrup:
Separate Compilation Must Stay!
WG21/N0885 X3J16/96-0067.
-
Bjarne Stroustrup:
Relaxing the Rules for Void.
WG21/N0849 X3J16/96-0031.
-
Bjarne Stroustrup:
A Standard Adapter to Support Polymorphic Containers.
WG21/N0848 X3J16/96-0030.
-
Bjarne Stroustrup and Alex Stepanov:
Bring Back the Obvious Definition of count().
WG21/N0847 X3J16/96-0029.
-
Bjarne Stroustrup:
Relaxation of Qualified Lookup.
95-0145/N0745.
-
Bjarne Stroustrup:
A Suggestion for Simplifying the Use of Adaptors.
N0729/95-0129.
-
Bjarne Stroustrup:
Relaxing the Rules for Namespace::Member
WG21/N0635 X3J16/95-0035.
-
Bjarne Stroustrup:
Major Template Issues (Note for discussion. Revision 0).
WG21/N0578 X3J16/94-0191.
-
Bjarne Stroustrup:
Defined Value for T().
X3J16/93-0157 WG21/N0364.
-
Bjarne Stroustrup:
New Casts Revisited.
X3J16/93-0142 WG21/N0349.
-
Bjarne Stroustrup:
Major Template Issues (Note for discussion).
X3J16/93-0081 WG21/N0288.
-
Bjarne Stroustrup:
Name Space Management in C++ (revised).
X3J16/93-0055 WG21/N0262.
-
B. Sroustrup:
Suggested working document changes for new cast notation.
93-0023/N0231.
-
Bjarne Stroustrup:
An alternative to old-style casts.
92-0122/N0199.
-
B. Stroustrup:
Name space management in C++.
92-0123/N0169.
-
Bjarne Stroustrup, Martin J. O'Riordan, Andrew Koenig, Jonathan Shopiro:
Proposed Revisions to the Template Specification.
X3J16/92-0133 WG21/N0209.
-
Bjarne Stroustrup and Dmitry Lenkov:
Run-time type information for C++ (Revised).
92-0068/N0145.
-
Bjarne Stroustrup and Dmitry Lenkov:
Run-time type information for C++.
92-0028/N0105.
-
Andrew Koenig and Bjarne Stroustrup:
Analysis of overloaded operator.().
91-0121.
-
Andrew Koenig and Bjarne Stroustrup:
C++: As close to C as possible but no closer.
91-0089/N0089.
-
B. Stroustrup:
A detailed proposal for generalization of overriding (draft).
X3J16/90-0067.
-
B. Stroustrup:
A proposal for generalization of overriding.
X3J16/90-0046.
-
and of course the reference manual from
The C++ Programming Language (2nd edition, 1991)
and some of the annotations from the ARM.
homepage
|
C++links
|
FAQ
|
technical FAQ
|
glossary
|
compilers
|
publications
|
C++TRs
|
TC++PL
|
D&E
|
bio
|
interviews
|
applications
|
TAMU
|
AT&T Research