Standardization

Trip report: Summer ISO C++ standards meeting (Rapperswil) -- Herb Sutter

Contracts, concepts, and C++20, oh my!

Trip report: Summer ISO C++ standards meeting (Rapperswil)

by Herb Sutter

From the article:

Top news: Contracts adopted for C++20

... In my opinion, contracts is the most impactful feature of C++20 so far, and arguably the most impactful feature we have added to C++ since C++11. That statement might surprise you, so let me elaborate why I think so...

2018-06 post-Rapperswil mailing available

The full 2018-06 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
2018-06 post-Rapperswil
N4751 WG21 pre-Rapperswil telecon minutes Nina Dinka Ranns 2018-05-25 2018-06 WG21
N4752 Responses to National Body Comments for ISO/IEC PDTS 19750, C++ Extensions for Parallelism Version 2 Bryce Adelstein Lelbach 2018-06-08 2018-06 WG21
N4753 WG21 2018-06 Rapperswil Minutes Nina Dinka Ranns 2018-12-06 2018-06 WG21
N4754 Rapperswil 2018 LEWG Summary Titus Winters 2018-06-12 2018-06 WG21
N4755 Working Draft, C++ Extensions for Parallelism Version 2 Jared Hoberock 2018-06-24 2018-06 N4744 WG21
N4756 Parallelism TS Editor’s Report, post-Rapperswil mailing Jared Hoberock 2018-06-26 2018-06 WG21
N4757 Programming Languages - C++ Extensions for Parallelism Version 2 Jared Hoberock 2018-06-24 2018-06 WG21
N4758 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2018-06-25 2018-06 N4617 WG21
N4759 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2018-06-25 2018-06 WG21
N4760 Working Draft, C++ Extensions for Coroutines Gor Nishanov 2018-06-24 2018-06 N4736 WG21
N4761 Editor's report for the Coroutines TS Gor Nishanov 2018-06-24 2018-06 WG21
P0009r7 mdspan: A Non-Owning Multidimensional Array Reference H. Carter Edwards, Bryce Adelstein Lelbach, Daniel Sunderland, David Hollman, Christian Trott, Mauro Bianco, Ben Sander, Athanasios Iliopoulos, John Michopoulos, Mark Hoemmen 2018-06-24 2018-06 P0009r6 Library
P0019r8 Atomic Ref Daniel Sunderland, H. Carter Edwards, Hans Boehm, Olivier Giroux, Mark Hoemmen, David Hollman, Bryce Adelstein Lelbach, Jens Maurer 2018-06-07 2018-06 P0019r7 Library Adopted 2018-06
P0267r8 A Proposal to Add 2D Graphics Rendering and Display to C++ Michael B. McLaughlin, Herb Sutter, Jason Zink, Guy Davidson, Michael Kazakov 2018-06-26 2018-06 P0267r7 WG21
P0323r7 std::expected Vicente Botet, JF Bastien 2018-06-22 2018-06 P0323r6 Library
P0357R2 'reference_wrapper' for incomplete types Tomasz Kamiński, Stephan T. Lavavej, Alisdair Meredith 2018-06-10 2018-06 P0357R1 Library
P0388R3 Permit conversions to arrays of unknown bound Robert Haberlach 2018-06-24 2018-06 P0388R2 Core
P0458R2 Checking for Existence of an Element in Associative Containers Mikhail Maltsev 2018-06-06 2018-06 P0458R1 Library Adopted 2018-06
P0475R1 LWG 2511: guaranteed copy elision for piecewise construction Jonathan Wakely 2018-06-05 2018-06 P0475R0 Library Adopted 2018-06
P0476R2 Bit-casting object representations JF Bastien 2017-11-10 2018-06 P0476R1 Library Adopted 2018-06
P0482R4 char8_t: A type for UTF-8 characters and strings Tom Honermann 2018-06-16 2018-06 P0482R3 Library
P0483R2 static_vector Gonzalo Brito Gadeschi 2018-06-25 2018-06 P0483R1 Library
P0528R3 The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange JF Bastien, Michael Spencer 2018-06-07 2018-06 P0528R2 Core Adopted 2018-06
P0542R5 Support for contract based programming in C++ J. Daniel Garcia 2018-06-08 2018-06 P0542R4 Core Adopted 2018-06
P0556R3 Integral power-of-2 operations Jens Maurer 2018-06-06 2018-06 P0556R2 Library Adopted 2018-06
P0602R3 variant and optional should propagate copy/move triviality Zhihao Yuan 2018-06-13 2018-06 P0602R2 Library
P0619R4 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Alisdair Meredith, Tomasz Kamiński 2018-06-08 2018-06 P0619R3 Core, Library Adopted 2018-06
P0631R3 Math Constants Lev Minkovsky, John McFarlane 2018-06-08 2018-06 P0631R2 SG6, Library Evolution
P0646R1 Improving the Return Value of Erase-Like Algorithms I: list/forward list Marc Mutz 2018-06-08 2018-06 P0646R0 Library Adopted 2018-06
P0660R3 A Cooperatively Interruptible Joining Thread Nicolai Josuttis, Herb Sutter, Anthony Williams 2018-06-06 2018-06 P0660R2 SG1, Library Evolution, Library
P0664R4 C++ Coroutine TS Issues Gor Nishanov 2018-06-07 2018-06 P0664R3 Evolution, Core, Library Evolution Adopted 2018-06
P0664R5 C++ Coroutine TS Issues Gor Nishanov 2018-06-24 2018-06 P0664R4 Core
P0668R4 Revising the C++ memory model Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2018-06-24 2018-06 P0668R3 Core, Library
P0670R4 Function reflection Matúš Chochlík, Axel Naumann, David Sankel 2018-06-08 2018-06 P0670R3 Core, Library Adopted 2018-06
P0709R1 Zero-overhead deterministic exceptions: Throwing values Herb Sutter 2018-06-20 2018-06 P0709R0 Evolution, Library Evolution
P0722R3 Efficient sized delete for variable sized classes Richard Smith, Andrew Hunter 2018-03-17 2018-06 P0722R2 Core, Library Adopted 2018-06
P0732R2 Class Types in Non-Type Template Parameters Jeff Snyder, Louis Dionne 2018-06-06 2018-06 P0732R1 Evolution Adopted 2018-06
P0758R1 Implicit conversion traits and utility functions Daniel Krügler 2018-06-06 2018-06 P0758R0 Library Adopted 2018-06
P0759R1 fpos requirements Daniel Krügler 2018-06-04 2018-06 P0759R0 Library Adopted 2018-06
P0769R2 Add shift to <algorithm> Dan Raviv 2018-06-06 2018-06 P0769R1 Library Adopted 2018-06
P0771R0 std::function move operations should be noexcept Nevin Liber 2017-10-16 2018-06 Library
P0784R4 More constexpr containers Louis Dionne, Richard Smith, Nina Ranns, Daveed Vandevoorde 2018-06-22 2018-06 P0784R3 Core, Library
P0788R3 Standard Library Specification in a Concepts and Contracts World Walter E. Brown 2018-06-07 2018-06 P0788R2 Library Adopted 2018-06
P0805R2 Comparing Containers Marshall Clow 2018-06-22 2018-06 P0805R1 Library
P0806R2 Deprecate implicit capture of this via [=] Thomas Köppe 2018-06-04 2018-06 P0806R1 Core Adopted 2018-06
P0820R4 Feedback on P0214 Tim Shen, Matthias Kretz 2018-06-08 2018-06 P0820R3 Library Adopted 2018-06
P0828R1 Elastic Integers John McFarlane 2018-06-25 2018-06 P0828R0 SG6, SG12, SG14
P0876R3 fiber_handle - fibers without scheduler Oliver Kowalke, Nat Goodspeed 2018-06-08 2018-06 P0876R2 Library Evolution
P0883R1 Fixing Atomic Initialization Nicolai Josuttis 2018-06-05 2018-06 P0883R0 SG1, Library Evolution, Library
P0887R1 The identity metafunction Timur Doumler 2018-03-18 2018-06 P0887R0 Library Adopted 2018-06
P0892R2 explicit(bool) Barry Revzin, Stephan T. Lavavej 2018-06-08 2018-06 P0892R1 Core, Library Adopted 2018-06
P0896R2 The One Ranges Proposal Eric Niebler, Casey Carter, Christopher Di Bella 2018-06-25 2018-06 P0896R1 Library Evolution, Library
P0898R3 Standard Library Concepts Casey Carter, Eric Niebler 2018-06-08 2018-06 P0898R2 Library Adopted 2018-06
P0907R3 Signed Integers are Two’s Complement JF Bastien 2018-06-10 2018-06 P0907R2 Core
P0912R2 Merge Coroutines TS into C++20 working draft Gor Nishanov 2018-06-08 2018-06 P0912R1 WG21 Adopted 2018-06
P0919R2 Heterogeneous lookup for unordered containers Mateusz Pusz 2018-06-11 2018-06 P0919R1 Library
P0921R2 Standard Library Compatibility Titus Winters, Ashley Hedberg 2018-05-06 2018-06 P0921R1 Evolution, Library Evolution
P0927R1 Towards A (Lazy) Forwarding Mechanism for C++ James Dennett, Geoff Romer 2018-05-16 2018-06 P0927R0 Evolution
P0929R2 Checking for abstract class types Jens Maurer 2018-06-06 2018-06 P0929R1 Core Adopted 2018-06
P0941R2 Integrating feature-test macros into the C++ WD Ville Voutilainen, Jonathan Wakely 2018-06-08 2018-06 P0941R1 Core, Library Adopted 2018-06
P0964R2 Finding the right set of traits for simd<T> Matthias Kretz 2018-06-07 2018-06 P0964R1 Library Evolution Adopted 2018-06
P0985R1 LWG Chair post-meeting report Marshall Clow 2018-06-19 2018-06 P0985R0 WG21
P0995R1 Improving atomic_flag JF Bastien, Olivier Giroux, Andrew Hunter 2018-06-22 2018-06 P0995R0 Library
P1000R1 C++ IS schedule Herb Sutter 2018-06-21 2018-06 P1000R0 WG21
P1007R1 std::assume_aligned Timur Doumler, Chandler Carruth 2018-06-25 2018-06 P1007R0 Library
P1008R1 Prohibit aggregates with user-declared constructors Timur Doumler, Arthur O’Dwyer, Richard Smith, Howard E. Hinnant, Nicolai Josuttis 2018-06-08 2018-06 P1008R0 Evolution, Core Adopted 2018-06
P1013R1 Explicit concept expressions Thomas Köppe, Hubert S.K. Tong 2018-06-10 2018-06 P1013R0 WG21
P1018R1 Evolution status after Rapperswil 2018 Ville Voutilainen 2018-06-09 2018-06 P1018R0 WG21
P1023R0 constexpr comparison operators for std::array Tristan Brindle 2018-05-06 2018-06 Library Evolution Adopted 2018-06
P1024R1 Usability Enhancements for std::span Tristan Brindle 2018-06-24 2018-06 P1024R0 Library Evolution
P1025R1 Update The Reference To The Unicode Standard Steve Downey, JeanHeyd Meneide, Martinho Fernandes 2018-06-07 2018-06 P1025R0 SG16, Core, Library Adopted 2018-06
P1030R1 std::filesystem::path_view Niall Douglas 2018-06-18 2018-06 P1030R0 Library Evolution
P1033R1 Rangify the uninitialised memory algorithms! Casey Carter, Christopher Di Bella 2018-06-25 2018-06 P1033R0 Library Evolution
P1040R1 std::embed JeanHeyd Meneide 2018-06-06 2018-06 P1040R0 Evolution, Library Evolution
P1041R1 Make char16_t/char32_t string literals be UTF-16/32 R. Martinho Fernandes 2018-06-15 2018-06 P1041R0 Evolution
P1042R1 __VA_OPT__ wording clarifications Hubert S.K. Tong 2018-06-04 2018-06 P1042R0 Core Adopted 2018-06
P1053R1 Future-proofing continuations for executors Lee Howes, Eric Niebler 2018-06-24 2018-06 P1053R0 SG1, Library Evolution
P1064R0 Allowing Virtual Function Calls in Constant Expressions Peter Dimov, Vassil Vassilev 2018-05-04 2018-06 Evolution Adopted 2018-06
P1073R1 constexpr! functions Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-06-22 2018-06 P1073R0 Core
P1076R1 Editorial clause reorganization Jens Maurer 2018-06-23 2018-06 P1076R0 Core, Library
P1082R0 C++ Standard Library Issues to be moved in Rapperswil Marshall Clow 2018-05-06 2018-06 WG21 Adopted 2018-06
P1085R1 Should Span be Regular? Tony Van Eerd 2018-05-04 2018-06 P1085R0 Evolution
P1097R0 Named character escapes R. Martinho Fernandes 2018-06-21 2018-06 SG16, Evolution, Core
P1097R1 Named character escapes R. Martinho Fernandes 2018-06-22 2018-06 P1097R0 SG16, Evolution, Core
P1099R0 Using Enum Gašper Ažman, Jonathan Müller 2018-05-23 2018-06 SG1, Library Evolution
P1100R0 Efficient composition with DynamicBuffer Vinnie Falco 2018-06-18 2018-06 Library Evolution
P1102R0 Down with ()! Alex Christensen, JF Bastien 2018-06-20 2018-06 Core
P1103R0 Merging Modules Richard Smith, Gabriel Dos Reis 2018-06-22 2018-06 WG21
P1105R0 Leaving no room for a lower-level language: A C++ Subset Ben Craig 2018-06-21 2018-06 SG14, Evolution
P1108R0 web_view Hal Finkel 2018-06-22 2018-06 Library Evolution
P1109R0 WG21 2018-06 Rapperswil Record of Discussion Nina Dinka Ranns 2018-06-12 2018-06 WG21
P1110R0 A placeholder with no name Jeffrey Yasskin, JF Bastien 2018-06-07 2018-06 Evolution
P1111R0 Resolutions to NB Comments on the Parallelism TS v2 Bryce Adelstein Lelbach, Matthias Kretz 2018-06-04 2018-06 SG1, Library Evolution, Library Adopted 2018-06
P1113R0 Core Language Working Group "ready" Issues for the June, 2018 (Rapperswil) meeting William M. Miller 2018-06-08 2018-06 WG21 Adopted 2018-06
P1114R0 Core Language Working Group "tentatively ready" Issues for the June, 2018 (Rapperswil) meeting William M. Miller 2018-06-05 2018-06 WG21 Adopted 2018-06
P1118R0 Concat and Split on simd<> objects Tim Shen, Matthias Kretz 2018-06-08 2018-06 Library Adopted 2018-06
P1119R0 ABI for std::hardware_{constructive,destructive}_interference_size JF Bastien, Olivier Giroux, Olivier Giroux, Hal Finkel, Thomas Rodgers, Matthias Kretz 2018-06-22 2018-06 SG1, Library Evolution, Library
P1120R0 Consistency improvements for <=> and other comparison operators Richard Smith 2018-06-08 2018-06 Core Adopted 2018-06
P1122R0 Proposed Wording for Concurrent Data Structures: Read-Copy-Update (RCU) Paul McKenney, Michael Wong, Maged M. Michael, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt, Frank Birbacher 2018-06-07 2018-06 Library Evolution, Library
P1128R0 Summer 2018 WG21 Batavia LWG Meeting Information Walter E. Brown 2018-06-21 2018-06 Library
P1131R0 Core Issue 2292: simple-template-id is ambiguous between class-name and type-name Jens Maurer 2018-06-23 2018-06 Core
P1132R0 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide, Todor Buyukliev, Isabella Muerte 2018-06-25 2018-06 Library Evolution, Library
P1133R0 Networking TS Associations For Call Wrappers Vinnie Falco 2018-06-21 2018-06 Library Evolution
P1135R0 The C++20 Synchronization Library Bryce Adelstein Lelbach, Olivier Giroux, JF Bastien 2018-06-12 2018-06 SG1, Library Evolution, Library
P1136R0 2018-09 Bellevue ad-hoc meeting information Herb Sutter 2018-06-21 2018-06 WG21
P1137R0 SG16: Unicode meeting summaries 2018/05/16 - 2018/06/20 Tom Honermann 2018-06-24 2018-06 SG16
P1141R0 Yet another approach for constrained declarations Ville Voutilainen, Thomas Köppe, Andrew Sutton, Herb Sutter, Gabriel Dos Reis, Bjarne Stroustrup, Jason Merrill, Hubert Tong, Eric Niebler, Casey Carter, Tom Honermann, Erich Keane 2018-06-23 2018-06 Evolution
P1142R0 Thoughts on a conservative terse syntax for constraints Thomas Köppe 2018-06-25 2018-06 Evolution

Botond Ballo's Rapperswil trip report

A summary of what happened at the recent Rapperswil C++ standards meeting, with a focus on the Evolution Working Group.

Trip Report: C++ Standards Meeting in Rapperswil, June 2018

by Botond Ballo

From the article:

A couple of weeks ago I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Rapperswil, Switzerland. This was the second committee meeting in 2018; you can find my reports on preceding meetings here (March 2018, Jacksonville) and here (November 2017, Albuquerque), and earlier ones linked from those. These reports, particularly the Jacksonville one, provide useful context for this post.

At this meeting, the committee was focused full-steam on C++20, including advancing several significant features — such as Ranges, Modules, Coroutines, and Executors — for possible inclusion in C++20, ...

Guy Davidson's Rapperswil trip report

The dust is settling at Rapperswil: what actually happened?

2D or not 2D: that is the question: Rapperswil trip report

by Guy Davidson

From the article:

The summer 2018 ISO C++ committee meeting took place in Rapperswil, apparently something of a favourite with the members. Being a short flight from my home I was able to arrive on Sunday afternoon, ready to start on Monday without fear of jet-lag. The last time I was in Switzerland was by accident when I went Interrailing in 1989. It was good to return and see what state my German is in.

 

App-level Developer on std::error Exceptions Proposal for C++. Part II. The Discussion.--"No Bugs" H

Nothing is easy.

App-level Developer on std::error Exceptions Proposal for C++. Part II. The Discussion.

by "No Bugs" Hare

From the article:

For quite a long while, in certain parts of C++ community, there is a substantial resistance to existing C++ exceptions; this leads to an alternative subculture of using error codes instead of exceptions, so there are effectively two barely-compatible C++ worlds: world-using-exceptions, and world-using-error-codes...

Should Span Be Regular?--Barry Revzin

Do you have an opinion?

Should Span Be Regular?

by Barry Revzin

From the article:

In my last post, I talked about the concept of Westie types (yes, I am trying to make this happen), what Regular means, and which of them are Regular. I went through an explanation for why means for span is not Regular and potentially why it should be. After lots of resulting conversations with several people (thanks Zach Laine, Nicole Mazzuca, Eric Niebler, John Shaw, Tim Song), I thought it was necessary to write a follow up with more details and more argument...

2018-05 pre-Rapperswil mailing available

The full 2018-05 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2018 PL22.16/WG21 document list Hal Finkel 2018-05-07 2018-05
2018-05 pre-Rapperswil
N4745 PL22.16/WG21 draft agenda: 4-9 June 2018, Rapperswil, Switzerland John Spicer 2018-04-30 2018-05 WG21
N4746 Working Draft, C++ Extensions for Reflection David Sankel 2018-05-07 2018-05 WG21
N4747 Reflection TS - Editor’s Report David Sankel 2017-05-05 2018-05 WG21
N4748 WG21 telecon meeting: Pre-Rapperswil Herb Sutter 2018-05-06 2018-05 WG21
N4749 Editors' Report - Programming Languages - C++ Richard Smith, Dawn Perchik, Thomas Köppe 2018-04-04 2018-05 WG21
N4750 Working Draft, Standard for Programming Language C++ Richard Smith 2018-05-07 2018-05 N4741 WG21
P0009r6 mdspan: A Non-Owning Multidimensional Array Reference H. Carter Edwards, Bryce Adelstein Lelbach, Daniel Sunderland, David Hollman, Christian Trott, Mauro Bianco, Ben Sander, Athanasios Iliopoulos, John Michopoulos, Daniel Sunderland 2018-05-07 2018-05 P0009R5 Library
P0019r7 Atomic Ref H. Carter Edwards, Hans Boehm, Olivier Giroux, Daniel Sunderland, Mark Hoemmen, David Hollman, Bryce Adelstein Lelbach, Jens Maurer 2018-05-06 2018-05 P0019r6 SG1, Library
P0037R5 Fixed-Point Real Numbers John McFarlane 2018-05-07 2018-05 P0037R4 SG6, SG14, Library Evolution
P0052r8 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2018-04-24 2018-05 P0052r7 Library
P0124R5 Linux-Kernel Memory Model Paul E. McKenney, Ulrich Weigand, Andrea Parri, Boqun Feng 2018-04-06 2018-05 P0124R4 SG1
P0132R1 Non-throwing container operations Ville Voutilainen 2018-05-07 2018-05 P0132R0 Evolution
P0196R5 Generic none() factories for Nullable types Vicente J. Botet Escribá 2018-05-03 2018-05 P0196R4 Library Evolution
P0319R2 Adding Emplace functions for promise<T>/future<T> (revision 2) Vicente J. Botet Escribá 2018-05-03 2018-05 P0319R1 SG1, Library Evolution
P0340R1 Making std::underlying_type SFINAE-friendly R. "Tim" Song 2018-05-07 2018-05 P0340R0 Library Evolution, Library
P0408R4 Efficient Access to basic_stringbuf’s Buffer Peter Sommerlad 2018-05-01 2018-05 P0408R3 Library
P0429R4 A Standard flatmap Zach Laine 2018-05-05 2018-05 P0429R3 Library
P0443r7 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, H. Carter Edwards, Gordon Brown 2018-05-07 2018-05 P0443r6 SG1, Library Evolution
P0482R3 char8_t: A type for UTF-8 characters and strings (Revision 3) Tom Honermann 2018-05-07 2018-05 P0482R2 Evolution, Library Evolution
P0514R4 Efficient concurrent waiting for C++20 Olivier Giroux 2018-05-03 2018-05 P0514R3 Library Evolution
P0527R1 Implicitly move from rvalue references in return statements David Stone 2017-11-08 2018-05 P0527R0 Core
P0539R4 A Proposal to add wide_int Template Class Igor Klevanets, Antony Polukhin 2018-05-03 2018-05 P0539R3 SG6, Library Evolution
P0540R1 A Proposal to Add split/join of string/string_view to the Standard Library Laurent NAVARRO 2018-04-29 2018-05 P0540R0 Library Evolution
P0566R5 Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read­Copy­Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt, Frank Birbacher 2018-05-06 2018-05 P0566R4 SG1, SG14, Library Evolution, Library
P0572R2 Static reflection of bit fields Alex Christensen 2018-05-06 2018-05 P0572R1 SG7
P0595R1 std::is_constant_evaluated() Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-05-04 2018-05 P0595R0 Evolution, Library Evolution
P0619R3 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamiński 2018-05-07 2018-05 P0619R2 Core, Library
P0645R2 Text Formatting Victor Zverovich 2018-04-28 2018-05 P0645R1 Library Evolution, Library
P0660R2 A Cooperatively Interruptible Joining Thread, Rev 2 Nicolai Josuttis, Herb Sutter, Anthony Williams 2018-05-07 2018-05 P0660R1 SG1, Library Evolution, Library
P0664R3 C++ Coroutine TS Issues Gor Nishanov 2018-05-05 2018-05 P0664R2 Evolution, Core, Library Evolution
P0665R1 Allowing Class Template Specializations in Associated Namespaces (revision 1) Tristan Brindle 2018-05-06 2018-05 P0665R0 Evolution
P0666R2 Revised Latches and Barriers for C++20 Olivier Giroux 2018-05-06 2018-05 P0666R1 SG1
P0668R3 Revising the C++ memory model Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2018-05-05 2018-05 P0668R2 SG1
P0670R3 Function reflection Matúš Chochlík, Axel Naumann, David Sankel 2018-05-07 2018-05 P0670R2 Core, Library
P0671R2 Self-explanatory Function Arguments Axel Naumann 2018-05-07 2018-05 P0671R1 Evolution
P0709R0 Zero-overhead deterministic exceptions: Throwing values Herb Sutter 2018-05-02 2018-05 SG14
P0736R1 Nameless parameters and unutterable specializations Hubert S.K. Tong 2018-05-05 2018-05 P0736R0 Evolution
P0745R1 Concepts in-place syntax Herb Sutter 2018-04-29 2018-05 P0745R0 Evolution, Core
P0769R1 Add shift to <algorithm> Dan Raviv 2018-02-05 2018-05 P0769R0 Library
P0772R1 Execution Agent Local Storage Nat Goodspeed, Michael Wong, Paul McKenney, Jared Hoberock, H. Carter Edwards, Tony Tye, Alex Voicu, Gordon Brown, Mark Hoemmen 2018-05-07 2018-05 P0772R0 SG1
P0784R2 Standard containers and constexpr Louis Dionne, Richard Smith, Nina Ranns, Daveed Vandevoorde 2018-05-05 2018-05 P0784R1 Evolution, Library Evolution
P0784R3 More constexpr containers Louis Dionne, Richard Smith, Nina Ranns, Daveed Vandevoorde 2018-05-04 2018-05 P0784R2 Evolution, Library Evolution
P0788R2 Standard Library Specification in a Concepts and Contracts World Walter E. Brown 2018-05-05 2018-05 P0788R1 Library
P0789R3 Range Adaptors and Utilities Eric Niebler 2018-05-06 2018-05 P0789R2 Library
P0792R2 function_ref: a non-owning reference to a Callable Vittorio Romeo 2018-05-06 2018-05 P0792R1 Library Evolution
P0796R2 Supporting Heterogeneous & Distributed Computing Through Affinity Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen 2018-05-07 2018-05 P0796R1 SG1, SG14
P0829R2 Freestanding Proposal Ben Craig 2017-10-14 2018-05 P0829R1 SG14, Library Evolution
P0836R1 Introduce Parallelism to the Ranges TS Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruyman Reyes, Michel Steuwer, Michael Wong 2018-05-07 2018-05 P0836R0 SG1, SG9, SG14, Library Evolution
P0844R0 Type functions and beyond J. Monnon 2018-02-26 2018-05 SG7, SG8, Evolution
P0860R1 Atomic Access Property for mdspan Dan Sunderland, Christian Trott, H. Carter Edwards 2018-05-06 2018-05 P0860R0 SG1, Library Evolution
P0868R2 Selected RCU Litmus Tests Paul E. McKenney, Alan Stern, Andrew Hunter, Jade Alglave, Luc Maranget 2018-02-09 2018-05 P0868R1 SG1
P0876R2 fiber_context - fibers without scheduler Oliver Kowalke, Nat Goodspeed 2018-05-06 2018-05 P0876R1 SG1
P0880R1 Numbers interaction Igor Klevanets, Antony Polukhin 2018-05-04 2018-05 P0880R0 SG6, Library Evolution
P0881R1 A Proposal to add stack trace library Alexey Gorgurov, Antony Polukhin 2018-04-19 2018-05 P0881R0 Library Evolution
P0892R1 explicit(bool) Barry Revzin, Stephan T. Lavavej 2018-03-30 2018-05 P0892R0 Evolution
P0893R1 Chaining Comparisons Barry Revzin, Herb Sutter 2018-04-28 2018-05 P0893R0 Evolution
P0894R0 `realloc()` for C++ Victor Dyachenko 2018-01-10 2018-05 Library Evolution
P0896R1 Merging the Ranges TS Eric Niebler, Casey Carter 2018-05-06 2018-05 P0896R0 Library Evolution, Library
P0898R2 Standard Library Concepts Casey Carter, Eric Niebler 2018-05-06 2018-05 P0898R1 Library
P0903R2 Define basic_string_view(nullptr) Ashley Hedberg, Titus Winters, Jorg Brown 2018-05-07 2018-05 P0903R1 Evolution, Library Evolution, Library
P0907R2 Signed Integers are Two’s Complement JF Bastien 2018-04-01 2018-05 P0907R1 Evolution
P0912R1 Merge Coroutines TS into C++20 working draft Gor Nishanov 2018-05-05 2018-05 P0912R0 WG21
P0917R1 Making operator?: overloadable Matthias Kretz 2018-05-06 2018-05 P0917R0 Evolution
P0921R2 Standard Library Compatibility Titus Winters, Ashley Hedberg 2018-05-06 2018-05 P0921R1 Evolution, Library Evolution
P0923R1 Modules:Dependent ADL Nathan Sidwell 2018-05-04 2018-05 P0923R0 Evolution
P0933R0 Runtime type introspection with std::exception ptr Aaryaman Sagar 2018-02-07 2018-05 Library Evolution
P0940R1 Concurrency TS is growing: Concurrent Utilities and Data Structures Michael Wong, Olivier Giroux 2018-05-07 2018-05 P0940R0 SG1, Library Evolution, Library
P0941R1 Integrating feature-test macros into the C++ WD Ville Voutilainen 2018-05-04 2018-05 P0941R0 Evolution, Library Evolution
P0957R1 PFA: A Generic, Extendable and Efficient Solution for Polymorphic Programming Mingxin Wang 2018-04-18 2018-05 P0957R0 SG7, SG9, Evolution, Core, Library Evolution, Library
P0958R1 Networking TS changes to support proposed Executors TS Christopher Kohlhoff 2018-05-06 2018-05 P0958R0 SG1, Library Evolution
P0960R1 Allow initializing aggregates from a parenthesized list of values Ville Voutilainen 2018-05-02 2018-05 P0960R0 Evolution
P0964R1 Finding the right set of traits for simd<T> Matthias Kretz 2018-05-07 2018-05 P0964R0 Library Evolution
P0970R1 Better, Safer Range Access Customization Points Eric Niebler 2018-05-06 2018-05 P0970R0 Library Evolution
P0972R0 <chrono> zero(), min(), and max() should be noexcept Billy Robert O'Neal III 2018-02-28 2018-05 Library Evolution, Library
P0977R0 Remember the Vasa! Bjarne Stroustrup 2018-03-06 2018-05 WG21
P0988R0 Ruminations on 2D graphics in the C++ International Standard Guy Davidson 2018-04-30 2018-05 WG21
P1007R0 std::assume_aligned Timur Doumler, Chandler Carruth 2018-05-04 2018-05 Library Evolution, Library
P1008R0 Prohibit aggregate types with user-declared constructors Timur Doumler, Arthur O’Dwyer, Richard Smith, Howard E. Hinnant 2018-05-07 2018-05 Evolution, Core
P1010R0 Container support for implicit lifetime types Mark Zeren, Chris Kennelly 2018-05-06 2018-05 Library Evolution, Library
P1016R0 A few additional type manipulation utilities Vincent Reverdy 2018-05-06 2018-05 Library Evolution
P1017R0 Executors should be variadic Hartmut Kaiser, John Biddiscombe 2018-05-06 2018-05 SG1
P1019R0 Integrating Executors with Parallel Algorithms Jared Hoberock 2018-05-07 2018-05 SG1
P1020R0 Smart pointer creation with default initialization Glen Joseph Fernandes, Peter Dimov 2018-04-08 2018-05 Library Evolution
P1021R0 Extensions to Class Template Argument Deduction Mike Spertus 2018-05-07 2018-05 Evolution
P1022R0 Material for 2018 JAX Discussions of Hazard Pointer and Read-Copy-Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt 2018-04-20 2018-05 SG1, SG14, Library Evolution, Library, Library
P1023R0 constexpr comparison operators for std::array Tristan Brindle 2018-05-06 2018-05 Library Evolution
P1024R0 Usability Enhancements for std::span Tristan Brindle 2018-05-06 2018-05 Library Evolution
P1025R0 Update The Reference To The Unicode Standard Steve Downey 2018-04-23 2018-05 SG16, Core, Library
P1026R0 A call for a Data Persistence (iostream v2) study group Niall Douglas 2018-05-06 2018-05 Library Evolution
P1028R0 SG14 status_code and standard error object for P0709 Zero-overhead deterministic exceptions Niall Douglas 2018-05-06 2018-05 Library Evolution
P1029R0 SG14 [[move_relocates]] Niall Douglas 2018-05-06 2018-05 Evolution
P1030R0 std::filesystem::path_view Niall Douglas 2018-05-06 2018-05 Library Evolution
P1031R0 Low level file i/o library Niall Douglas 2018-05-06 2018-05 Library Evolution
P1032R0 Misc constexpr bits Antony Polukhin 2018-05-03 2018-05 Library Evolution
P1033R0 Rangify the uninitialised memory algorithms! Casey Carter, Christopher Di Bella 2018-05-06 2018-05 Library Evolution
P1035R0 Input range adaptors Christopher Di Bella 2018-05-07 2018-05 Library Evolution
P1037R0 Deep Integration of the Ranges TS Eric Niebler, Casey Carter 2018-05-06 2018-05 Library Evolution
P1040R0 std::embed JeanHeyd Meneide 2018-05-07 2018-05 SG15, Evolution, Library Evolution
P1041R0 Make char16_t/char32_t string literals be UTF-16/32 Martinho Fernandes 2018-04-24 2018-05 Evolution
P1043R0 Narrow contracts in string_view versus P0903R1 Andrzej Krzemieński, Nevin Liber 2018-05-07 2018-05 Evolution, Library Evolution, Library
P1044R0 std::async() in an Executors World Thomas Rodgers, H. Carter Edwards, Mark Hoemmen 2018-05-04 2018-05 SG1, Library Evolution
P1045R0 constexpr Function Parameters David Stone 2018-04-29 2018-05 Evolution
P1046R0 Automatically Generate More Operators David Stone 2018-04-28 2018-05 Evolution
P1048R0 A proposal for a type trait to detect scoped enumerations Juan Alday 2018-05-01 2018-05 Library Evolution
P1050R0 Fractional Numeric Type John McFarlane 2018-05-07 2018-05 SG6, Library Evolution
P1051R0 std::experimental::expected LWG design issues Vicente J. Botet Escribá 2018-05-03 2018-05 Library Evolution
P1052R0 Modules, Macros, and Build Systems Boris Kolpackov 2018-05-02 2018-05 SG15, Evolution
P1053R0 Future-proofing continuations for executors Lee Howes, Eric Niebler 2018-05-06 2018-05 SG1, Library Evolution
P1054R0 A Unified Futures Proposal for C++ Lee Howes, Bryce Adelstein Lelbach, David S. Hollman, Michał Dominiak 2018-05-07 2018-05 SG1
P1055R0 A Modest Executor Proposal Kirk Shoop, Eric Niebler, Lee Howes 2018-04-26 2018-05 Library Evolution
P1056R0 Add coroutine task type Lewis Baker, Gor Nishanov 2018-05-05 2018-05 SG1
P1059R0 Adapting Asio to use std::expected Thomas Rodgers 2018-05-06 2018-05 Library Evolution
P1061R0 Structured Bindings can introduce a Pack Barry Revzin, Jonathan Wakely 2018-05-01 2018-05 Evolution
P1062R0 Diet Graphics Bryce Adelstein Lelbach, Olivier Giroux, Zach Laine, Corentin Jabot, Vittorio Romeo 2018-05-07 2018-05 WG21
P1063R0 Core Coroutines Geoff Romer, James Dennett, Chandler Carruth 2018-05-06 2018-05 Evolution
P1064R0 Allowing Virtual Function Calls in Constant Expressions Peter Dimov, Vassil Vassilev 2018-05-04 2018-05 Evolution
P1066R0 How to catch an exception_ptr without even try-ing Mathias Stearn 2018-05-07 2018-05 Evolution, Library Evolution
P1067R0 C++ Dependency Management: Package Consumption vs Development Boris Kolpackov 2018-05-04 2018-05 SG15
P1068R0 Vector API for random number generation Ilya Burylov, Alexey Kukanov, Ruslan Arutyunyan, Andrey Nikolaev, Pablo Halpern 2018-05-07 2018-05 SG1
P1070R0 SG5: Transactional Memory (TM) Meeting Minutes 2018/04/09 Michael Wong 2018-05-07 2018-05 SG5
P1071R0 SG14: Low Latency Meeting Minutes 2018/04/11- 2018/05/02 Michael Wong 2018-05-07 2018-05 SG14
P1072R0 Default Initialization for basic_string Chris Kennelly, Mark Zeren 2018-05-04 2018-05 SG16, Library Evolution, Library
P1073R0 constexpr! functions Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-05-04 2018-05 Evolution
P1074R0 CWG defect Defined Behavior of Invalid Pointers Maged Michael, David Goldblatt, Michael Wong, Paul McKenney 2018-05-07 2018-05 SG1, Core
P1076R0 Editorial clause reorganization Jens Maurer 2018-05-05 2018-05 Core, Library
P1077R0 Allowing Virtual Destructors to be “Trivial” Peter Dimov 2018-05-04 2018-05 Evolution
P1079R0 A minimal solution to the concepts syntax problems Bjarne Stroustrup 2018-05-06 2018-05 Evolution
P1080R0 SG16: Unicode meeting summaries 2018/03/28 - 2018/04/25 Tom Honermann 2018-05-06 2018-05 SG16
P1081R0 On empty structs in the standard library Vincent Reverdy, Collin Gress 2018-05-07 2018-05 Library Evolution
P1082R0 C++ Standard Library Issues to be moved in Rapperswil Marshall Clow 2018-05-06 2018-05 WG21
P1083R0 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2018-05-06 2018-05 Library Evolution
P1084R0 Today's return-type-requirements Are Insufficient Walter E. Brown, Casey Carter 2018-05-06 2018-05 Evolution
P1085R0 Should Span be Regular? Tony Van Eerd 2018-05-04 2018-05 Evolution
P1086R0 Natural Syntax: Keep It Simple Gabriel Dos Reis 2018-05-07 2018-05 Evolution
P1087R0 Modules for Standard C++ Gabriel Dos Reis, Richard Smith 2018-05-07 2018-05 Evolution
P1089R0 Sizes Should Only span Unsigned Robert Douglas, Nevin Liber, Marshall Clow 2018-05-06 2018-05 Library Evolution
P1090R0 Aggregate initialization in the presence of deleted constructors Ville Voutilainen 2018-05-07 2018-05 Evolution
P1091R0 Extending structured bindings to be more like variable declarations Nicolas Lesser 2018-05-07 2018-05 Evolution
P1093R0 Is undefined behaviour preserved? Andrew Bennieston, Jonathan Coe, Daven Gahir, Thomas Russell 2018-05-07 2018-05 SG12, Evolution, Library Evolution
P1094R0 Nested Inline Namespaces Alisdair Meredith 2018-05-07 2018-05 Evolution