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

Date: 2018-06-25

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

Acknowledgements

Thanks to Tim Song for pointing out editorial issues.

Special thanks to Geoffrey Romer for his stewardship of the previous version of this Technical Specification.

New papers

Change history and motions

The previous version of this Technical Specification, C++ Extensions for Library Fundamentals, Version 2 (LFTSv2), was published in 2017; N4617 is its DTS document. The current working draft, N4758, is the candidate to become the initial working paper for the new Version 3 of the TS (LFTSv3).

There has been only one motion since the publication of the LFTSv2, which rebases the document from C++14 to C++17 and thereby removes all parts that have already been merged into the C++17 International Standard:

Editorial changes

Commit history

From the draft sources on GitHub.

commit 64392fee2e511870fca3fe09381914b3e7bf0660 (HEAD -> v3, origin/v3) Author: Thomas Köppe <tkoeppe@google.com> Date: Mon Jun 25 14:28:41 2018 +0100 [utility] Add a dedicated subclause for propagate_const
commit d1975ddd9d86e899602ee44b26aaaffc1e3e828c Author: Thomas Köppe <tkoeppe@google.com> Date: Mon Jun 25 14:19:33 2018 +0100 [func,futures] Remove obsolete editor's notes. The underlying issues have already been incorporated into C++17.
commit e55344b539581ad161cf98aba21e045c0c2e69ce Author: Thomas Köppe <tkoeppe@google.com> Date: Mon Jun 25 14:07:29 2018 +0100 [algorithms, general.feature.test] Restore the one overload of "sample" that has not been merged into the IS (#74)
commit 587379108d73ae79ff5d613e12e697f0f3775e91 Author: Thomas Köppe <tkoeppe@google.com> Date: Wed Jun 20 12:13:07 2018 +0100 [utilities] Reorganize clause * Move propogate_const into "Utility components". * Reorganise propagate_const to separate the header synopsis from the class definition, and to use the new outline style used in the IS that does not have hanging paragraphs.
commit 27c7b093ad8fe55b43a4aae2e71d7b8328a7ea1b Author: Thomas Köppe <tkoeppe@google.com> Date: Wed Jun 20 01:34:31 2018 +0100 [reflection] Separate source_location header synopsis from class definition
commit 05d43506de5cdb723d461303efa05f854f86a8b7 Author: Thomas Köppe <tkoeppe@google.com> Date: Wed Jun 20 01:22:42 2018 +0100 Update namespaces from v2 to v3 and use C++17-style multiple-namespace syntax where possible
commit effc031cee33aa9be9112cae7d1b81e7c4d5e83b Author: Thomas Köppe <tkoeppe@google.com> Date: Wed Jun 20 01:08:06 2018 +0100 [memory] Move [memory.observer.ptr] subclause up so it is contiguous with the header synopsis that references it
commit 40bfeaf8d07afe05a3851f5ecf9a548825bcd427 Author: Thomas Köppe <tkoeppe@google.com> Date: Wed Jun 20 00:26:27 2018 +0100 P0996R1 Rebase Library Fundamentals TS on C++17 Excludes namespace renaming, subclause moves and synopsis splits.
commit 04ac52895e3902e5e674790fa17031eca61c8a74 Author: Thomas Köppe <tkoeppe@google.com> Date: Tue Jun 19 23:54:33 2018 +0100 [main] Update front matter for LFTSv3