N4949 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3
New papers
- N4952 is the revised DTS document.
- N4949
is this Editor’s Report.
- N4948
is the current working draft. It revises
N4939.
Change history and motions
There have not been any motions since the previous revision. This revision only contains
editorial changes, mainly those requested by the ISO secretariat in response to the
previous DTS ballot submission N4937, and the revised N4952 has been sent for DTS balloting.
N4952 and N4948
have identical technical content. Notable changes:
-
A new, unnumbered clause "Introduction" has been added which explains our use of stable
labels. The definition of "C++ Standard Library" has also been moved to this new clause,
and out of Terms and definitions".
-
Several erroneous numbers of C++20 subclauses have been fixed.
-
References to WG21 and to WG21 papers have been removed. These are inappropriate for
published ISO documents and were not adding much value.
-
Notes and examples are now numbered according to the ISO Drafting Directives, that is,
the number is only shown when there are multiple notes or examples in one subclause. (In
other words, there is never a "Note 1" if there is not also a "Note 2", etc.)
Commit history
From the draft sources on GitHub.
commit d96f9e5a272adbb0e6dad0e855930542d1c005b5
Author: Alisdair Meredith <alisdairm@me.com>
Date: Fri Sep 9 11:59:45 2022 -0400
[func.wrap.func] Add C++20 deduction guides
The deduction guides for `function` are present in the C++20 standard
and specified there, but we should include them in the class synopsis.
commit 595ee81a7d413c0b1f21d880bd69d6419f3e3068
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 01:32:56 2023 +0000
[bower] Add missing NESTC for <wbr/> elements
commit 24aa1c5530198594cc647adb76d33719f250a439
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 01:35:03 2023 +0000
[bower] Allow unnumbered clauses via 'number="none"'
commit c61be39cb67022577773a17fb5a88a324b5d21c7
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 02:05:27 2023 +0000
[general, mods] Use "this document" to refer to the TS
commit d383ae34ebd69e51b2f81a4a8de703fda7d25ce0
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 02:14:57 2023 +0000
[general.scope] Remove ineffective sentence, change "may" to "might"
What makes content normative is whether or not it provides
requirements. "May" gives permission, which is not what we
mean here.
commit 07dac259680d4c813b2d9171e1a669559a6e6c61
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 09:38:38 2023 +0000
[bower] Allow terms and definitions within a CXX-CLAUSE
commit 191557495010cdc9b1a53f9fe4999e4cf4d5ab62
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 09:44:30 2023 +0000
[general, mods] References and Terms cleanup
* References (Clause 2) only list references
* Terms and Definitions (Clause 3) now define the "C++ Standard Library".
* The erstwhile "C++ Standard" is now "ISO/IEC 14882:2020".
* The text explaining the use of C++ has been moved to [mods].
commit 05a14bc5883734120906b13f1d01f3929ee0ce80
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 10:08:23 2023 +0000
[general.terms] Update Terms and Definitions boilerplate
commit 88178e3c47ed2e966fc723e9748b2f84c1faad37
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 12:15:48 2023 +0000
[general.feature.test] Remove reference to papers
Such references are not suitable for a published ISO document.
commit 067bbae4a1f2b875b7140dae8b03f4c166ae7664
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 17:59:10 2023 +0000
[bower (table, toc)] Avoid unfortunate page breaks
commit 195f00bdcf387f510541143795d1aa384ee833bc
Author: Thomas Köppe <tkoeppe@google.com>
Date: Tue Jan 31 22:27:00 2023 +0000
[bower, CSS] Separate page numbering for front matter
commit f38acfdb7218f6c39d5d625a2a16ce3b656dd009
Author: Thomas Köppe <tkoeppe@google.com>
Date: Wed Feb 1 00:00:59 2023 +0000
[bower, CSS] Special first header
commit e7224a9fde084f439e64e6c6d7541ab84a2e2b8f
Author: Thomas Köppe <tkoeppe@google.com>
Date: Wed Feb 1 14:57:01 2023 +0000
[bower, note] Make notes numbered
commit 0511d28d2b38fdbd8c2793392bb7dd96eedde47c
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 15:02:27 2023 +0100
[general.namespaces] Replace "This TS" with "This document"
commit 74decdd571eabfe66a44afcb95ce630fd960d7dd
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 15:37:30 2023 +0100
[general.feature.test] Remove "(Informative)" from heading.
In accordance with the ISO drafting directives.
commit 2fa3b9e7b8a6c4330ced986c6bd1d9c25175524a
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 16:22:50 2023 +0100
Update the C++20 stable label index
commit 61821d1f801c775387ec58972659e8950502a350
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 16:48:08 2023 +0100
[general.feature.test] Remove mention of WG21
Workgroup-level information does not belong in ISO documents.
commit 91b60947bdcd8905a465284e499744a7d6f52b73
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 16:09:04 2023 +0100
[introduction, general] An "Introduction" clause.
The "Introduction" clause contains an explanation of our use of stable
names, and the definition of "C++ Standard Library", both of which
where requested by ISO.
commit b0177d79cf532f6b5e4fcb36018df868fa3a2ddd
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 18:01:00 2023 +0100
Shorter lines to allow larger font size.
ISO requires 11pt for the body font and 10pt for notes and examples.
commit 9fba98422f2ae38bff89d78734b1d8d3c53f715c
Author: Thomas Köppe <tkoeppe@google.com>
Date: Sun Apr 30 16:40:32 2023 +0100
[mods, general.namespaces] Replace "edit instructions" with "modifications".
ISO does not permit modifying an existing document in the way we used
to do with insert/delete edit instructions. Alternative wording was
proposed and is implemented here.
commit 91fbdbd015af0d0f2b3b342b12579240a8d7f505
Author: Thomas Köppe <tkoeppe@google.com>
Date: Mon May 8 18:04:00 2023 +0100
[bower, note+example] Change numbering of Notes and Examples
Notes and examples are numbered if and only if there is more than one.