N4854 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3
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
- N4853
is the current working draft. It revises
N4840.
- N4854
is this Editor’s Report.
Change history and motions
There has been one motion since the previous revision:
- Prague 2020, LWG Poll 1:
Apply the changes in P2081R1
(Rebase the Library Fundamentals v3 TS on C++20) to the Library Fundamentals TS working paper.
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
- A normative sentence that was missing from [scopeguard.uniqueres.members]
has been added; it was erroneously omitted in the original
motion application.
- In Clause [numeric], the subclause “Utilities” has been removed.
It was needlessly adding depth to a the structure of a very short clause.
- Some minor presentational errors have been fixed.
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.