This paper presents a quick summary of all papers submitted to WG21 for consideration by the Evolution Working Group, with an indication of their progress towards inclusion in the next C++ Standard. It is not guaranteed 100% accurate, but reflects the current states to the best of my knowledge. Hopefully a followup paper after the Berlin meeting will be 100% correct (and updated to reflect pre-Berlin mailing.)
There are no library issue here. This list focuses entirely on changes affecting clauses 1 -> 16.
The papers are summarised in the table following according to these categories:
WG21 Number(s) | Title | Authors |
Integrated into working paper | ||
N1381 N1604 N1617 N1720 | static_assert | R. Klarer, J. Maddock, B. Dawes, H. Hinnant |
N1520 N1616 N1722 N1791 | Extended friend Declarations | William M. Miller |
N1545 N1566 N1653 | Synchronizing the C++ preprocessor with C99 | Clark Nelson, Paul Mensonides |
N1564 N1627 | "Conditionally-Supported Behavior" | William M. Miller |
N1565 N1693 N1735 N1811 | Adding the long long type to C++ | J. Stephen Adamczyk |
N1610 | Clarification of Initialization of Class Objects by rvalues | D. Abrahams, G. Powell |
Final wording under review in Core | ||
N1377 N1385 N1690 N1770 N1855 | A Proposal to Add an Rvalue Reference to the C++ Language | H. Hinnant, P. Dimov, D. Abrahams, J. Adamczyk, A. Hommel |
N1478 N1527 N1607 N1705 | Decltype and auto | J. Järvi, B. Stroustrup, D. Gregor, J. Siek, G. Dos Reis |
N1737 | A Proposal to Restore Multi-declarator auto Declarations | Walter E. Brown |
N1721 N1794 N1894 | Deducing the type of variable from its initializer expression | J. Jaarvi, B. Stroustrup, G. Dos Reis |
Accepted by evolution - moving to core in Berlin | ||
N1528 | Syntactic Disambiguation Using the Template Keyword | John H. Spicer |
N1546 N1877 | Adding Alignment Support to the C++ Programming Language | Attila (Farkas) Fehér |
N1628 N1823 | New Character Types in C++ | Lawrence Crowl |
N1649 N1699 N1757 | Right Angle Brackets | Daveed Vandevoorde |
N1746 | Adding extended integer types to C++ | J. Stephen Adamczyk |
Active topics in evolution | ||
N1400 N1418 N1428 N1496 | Draft Proposal for Dynamic Libraries in C++ | Pete Becker, Matt Austern |
N1736 N1778 | Modules in C++ | Daveed Vandevoorde |
N1401 | Atomic operations with multi-threaded environments | Jan Kristoffersen |
N1680 N1738 N1777 N1876 N1911 | Memory model for multithreaded C++: Issues | A. Alexandrescu, H. Boehm, K. Henney, B. Hutchings, D. Lea, B. Pugh |
N1815 | ISO C++ Strategic Plan for Multithreading | Lawrence Crowl |
N1834 | A Pleading for Reasonable Parallel Processing Support in C++ | Detlef Vollmann |
N1874 | Thread-Local Storage | Lawrence Crowl |
N1406 N1451 N1489 | Template aliases for C++ | B. Stroustrup, G. Dos Reis, Walter E. Brown, Herb Sutter |
N1408 N1691 | Explicit Namespaces | David Abrahams |
N1792 N1893 N1912 | A Modest Proposal: Fixing ADL | Herb Sutter, Daveed Vandevoorde |
N1445 N1582 N1702 N1717 | Explicit class and default definitions | F. Glassborow, L. Goldthwaite |
N1581 N1618 N1895 | Delegating Constructors | H. Sutter, F. Glassborow |
N1583; N1898 | Inheriting Constructors | Francis Glassborow; M. Michaud, M. Wong |
N1467 N1824 | Extending Aggregate Initialization | Alisdair Meredith, Daniel F. Gutson |
N1493 N1509 N1890 N1919 | Initializer lists | Bjarne Stroustrup, G. Dos Reis, Daniel F. Gutson |
N1511 N1892 | Extensible Literals | I. McIntosh, M. Wong, R. Mak, Bjarne Stroustrup |
N1584 N1701 | Regularizing Initialization Syntax | Francis Glassborow |
N1488 N1601 | A name for the null pointer: nullptr | H. Sutter, B. Stroustrup |
N1494; N1827 | An Explicit Override Syntax for C++ | Daniel F. Gutson; C. Uzdavinis, A. Meredith |
N1510 N1522 N1536 N1782 N1886 | Concepts - syntax and composition | B. Stroustrup, G. Dos Reis |
N1758 N1798 N1848 N1849 | Concepts for C++0x | J. Siek, D. Gregor et al. |
N1899 | Concept proposal comparison | Matt Austern |
N1521 | Generalized Constant Expressions | Gabriel Dos Reis |
N1513 N1579 N1719 | Strongly Typed Enums | H. Sutter, D. Miller |
N1534 N1642 | Proposed addition of __func__ predefined identifier from C99 | Alex Rosenberg |
N1613 N1669 N1773 N1800 N1866 N1867 | Contract Programming For C++0x | L. Crowl, T. Ottosen, D. Abrahams, J. Widman |
N1614 N1625 N1726 N1740 | Macro scopes | Thomas Plum, Bjarne Stroustrup |
N1706 N1891 | Toward Opaque typedefs in C++0X | Walter E. Brown |
N1796 N1868 | Proposal for new for-loop | Thorsten Ottosen |
N1833 | Transparent Garbage Collection for C++ | H. Boehm, M. Spertus |
Still under consideration in evolution, but no clear progress to WP status | ||
N1427 | Making Local Templates more Useful | Anthony Williams |
N1567 N1776 N1839 | Decimal Types for C++ | Robert Klarer, P.J. Plauger |
N1611 | Implicitly-Callable Functions in C++0x | Walter E. Brown |
N1785 | Toward a Proposal for Object Templates in C++0x | Walter E. Brown |
N1664; N1703 | Toward Improved Optimization Opportunities in C++0x | W. Brown,M. Paterno; Francis Glassborow |
N1676 | Non-member overloaded copy assignment operator | Bronek Kozicki |
N1694 | A Proposal to Extend the Function Call Operator | Peter Dimov |
N1695 | A Proposal to Make Pointers to Members Callable | Peter Dimov |
N1727 | Changing Undefined Behavior into Diagnosable Errors | William M. Miller |
N1784 N1821 | Extending Move Semantics To *this (Revision 2) | D. Vandevoorde, B. Kozicki |
(papers in Berlin mailing) | Lambda expressions and closures for C++ | J Willcock, J Järvi, D Gregor, A Lumsdaine ; V Samko |
Not ready for C++0x, but encourage work to continue | ||
N1483 N1603 N1704 | Variadic Templates | D. Gregor, J. Järvi, G. Powell |
N1751; N1775 | Reflection in C++ | Detlef Vollmann; Walter E. Brown, et al. |
No active interest today, but open to resubmit in future | ||
N1384; N1600; N1615 | PME: Properties, methods and events | John Wiegley; Daveed Vandevoorde; Lois Goldthwaite |
N1440 | Proposed Addition to C++: Class Namespaces | Carl Daniel |
N1461 | Security and Standard C Libraries | Martyn Lovell |
N1462 | Safe Exceptions and Compiler Security Checks | Brandon Bray |
N1463 N1529 | Draft proposal for adding Multimethods to C++ | Julian Smith |
N1466 | Expliciting default parameters | Daniel Gutson |
N1470; N1741 | Extending / checking Switch statements | Daniel Gutson; Francis Glassborow |
N1471 | Reflective Metaprogramming in C++ | Daveed Vandevoorde |
N1526 | Proposal to add namespace references to C++ | Benjamin Kosnik |
N1585 N1716 N1742 | Uniform Calling Syntax (Re-opening public interfaces) | Francis Glassborow |
N1592 | Explicit Conversion Operators | Lois Goldthwaite |
N1602 | Class Scope Using Declarations & private Members | Francis Glassborow |
N1671 | Overloading Operator.() & Operator.*() | G. Powell, D. Gregor, J. Jarvi |
N1696 | Language Support for Restricted Templates | Peter Dimov |
N1825 | Addressing Exception Specifications for Next Generation of C++ | Alisdair Meredith |
No interest, or superseded by other proposals | ||
N1394 | Some proposed extensions to C++ language | David Miller |
N1464 | Anonymous array members | Daniel Gutson |
N1465 | Constant inheritance | Daniel Gutson |
N1468 | Self methods | Daniel Gutson |
N1469 | Inline Constants | Daniel Gutson |
N1492 | Exclusive Inheritance | Daniel Gutson |
N1524 | Nested Namespace Definition Proposal | Jon Jagger |
N1605 | Extending Template Type Parameters I: Namespace and scope | Daniel Gutson |
N1612 | How we might remove the remaining shortcomings of std::complex<T> | Thorsten Ottosen |
N1869 | Wording for imaginary numbers | Thorsten Ottosen |
Background papers for reference | ||
N1395 | Aspects of Forwarding (was C++ Support For Delegation) | Lois Goldthwaite |
N1648 | Motivation, Objectives and Design Decisions | Attila Fehér |
N1799 | C++ Language Support for Generic Programming | J. Siek, D. Gregor, R. Garcia, J. Willcock, J. Järvi, A. Lumsdaine |
N1885 | A formalism for C++ | G. Dos Reis, B. Stroustrup |