N4949 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

Date: 2023-05-08

Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>

New papers

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:

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.