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

Date: 2020-02-29

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

Acknowledgements

Thanks to Daniel Krügler for a very helpful review of the rebase motion application, and indeed also for valuable early feedback on the proposal.

New papers

Change history and motions

There has been one motion since the previous revision:

This motion has been applied. A small number of additional changes that should have been made but were omitted from the paper have also been applied.

The working draft currently makes reference to the C++20 DIS. We will editorially update the reference to refer to the IS once that one is published, unless the unlikely situation occurs that the TS is published before the IS.

Editorial changes

Commit history

From the draft sources on GitHub.

commit ad443f2557163d1ceede1f1625fd9f1f005a58eb Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 23:36:15 2020 +0000 [utility] Use standard Remarks wording to describe see-below content Moves the description of see-below content from a bare paragraph into a Remarks: element (in the swap functions of propagate_const), and changes the wording to match how we say this elsewhere. Drive-by: Add a missing "code" markup for a "noexcept" (in scope-guard).
commit e8da941a9fce0fc5bfeabbf430daa2f0028c5a7a Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 23:22:32 2020 +0000 Rearrange specification elements into their canonical order The canonical order is given by [C++20, structure.specifications].
commit 973da8b7f29d18cbd33958d511828345cbdd6d51 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 13:29:17 2020 +0000 P2081R1 Rebase the LFTSv3 on C++20, Part 3 of 3 Updates function specification to use the new "Mandates" terminology, and updates C++17-concepts to use "Cpp17Concept" names (and use of "meets"). Additional fixes: * Includes four missing, trivial replacements of "Requires" to   "Preconditions" for propagate_const observers. * Removes an additional "shall" from [alg.random.sample],   consistent with the analogous change to [alg.random.shuffle]. * Replaces two "satisfies" with "meets" in [scopeguard.uniqueres.overview]p3.
commit d7a54ae5a5a073e56514445dc4f69b28b9609636 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 12:12:39 2020 +0000 P2081R1 Rebase the LFTSv3 on C++20, Part 2 of 3 Use compact namespace notation where applicable.
commit f27b3a2ecb6829fb27d8b23466ccee343e531ea4 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 11:56:49 2020 +0000 P2081R1 Rebase the LFTSv3 on C++20, Part 1 of 3 * Update front matter * Delete removed material * Update the cross references to the IS
commit c66de030ceb380e63faf23f3726cd8add022748c Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 16:05:12 2020 +0000 [general.feature.test, alg.random.shuffle] Fix stable names following b9c584b887ce383919263dac4448bafa118d024d
commit 121e3aca31d482ae547584435faad3aae2cd6f6e Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 15:53:54 2020 +0000 [memory.resource.adaptor.mem] Fix cross reference The reference used to point inside the TS, but the rebase in 40bfeaf8d07afe05a3851f5ecf9a548825bcd427 (after memory_resource had been moved to the IS) failed to update this reference.
commit fc3a8fb148ee11a5e2feb7d660cdff2d69e94418 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 15:18:34 2020 +0000 [res.on.exception.handling] Fix missing semicolon on entity reference
commit e0a42a69531455a881d14629f6c40f42ea272651 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 13:28:30 2020 +0000 [bower] Add new element "cxx-17concept" for Cpp17Concepts in C++20
commit b9c584b887ce383919263dac4448bafa118d024d Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 12:24:20 2020 +0000 [rand] Remove needlessly deep "Utilities" subclause
commit 470bf59a81aed6b67770fb9b7ca1dc6607fc5964 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 12:15:23 2020 +0000 [rand] Fix missing close tag and reindent
commit ac936f2bacbf19fc9d45b24e6913a4839bfa9933 Author: Thomas Köppe <tkoeppe@google.com> Date: Fri Feb 28 11:25:59 2020 +0000 [scopeguard.uniqueres.members] Add missing sentence in Effects: of "reset". The sentence was erroneously omitted from the application of P0052R10 in 5db4c668f1a73b209e45f158aabd3b5c96958b13.