Standardization

2018-10 pre-San Diego mailing available (part 1 of 2)

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

This post is part 1 of 2.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
2018-10 pre-San Diego
N4766 Working Draft, C++ Extensions for Reflection David Sankel 2018-08-11 2018-10 N4746 WG21
N4767 Reflection TS - Editor’s Report David Sankel 2018-10-07 2018-10 WG21
N4768 Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++) Herb Sutter 2018-08-14 2018-10 WG21
N4769 PL22.16/WG21 draft agenda: 5-10 November 2018, San-Diego, USA John Spicer 2018-08-27 2018-10 WG21
N4770 2019 Kona meeting information (rev. 1) Herb Sutter 2018-08-28 2018-10 WG21
N4771 Working Draft, C++ Extensions for Networking Jonathan Wakely 2018-10-08 2018-10 N4734 WG21
N4772 Networking TS - Editor's Report Jonathan Wakely 2018-10-08 2018-10 WG21
N4773 Working Draft, C++ Extensions for Parallelism Version 2 Jared Hoberock 2018-10-08 2018-10 N4755 WG21
N4774 Parallelism TS Editor’s Report, pre-San Diego mailing Jared Hoberock 2018-10-08 2018-10 WG21
N4775 Working Draft, C++ Extensions for Coroutines Gor Nishanov 2018-10-07 2018-10 N4760 WG21
N4776 Editor's report for the Coroutines TS Gor Nishanov 2018-10-07 2018-10 WG21
N4777 WG21 telecon meeting: Pre-San Diego Herb Sutter 2018-10-06 2018-10 WG21
N4778 Working Draft, Standard for Programming Language C++ Richard Smith 2018-10-08 2018-10 N4762 WG21
N4779 Editors' Report - Programming Languages - C++ Richard Smith 2018-10-08 2018-10 WG21
N4780 2019 Cologne Meeting Invitation and Information Nico Josuttis 2018‐10‐08 2018-10 WG21
N4781 WG21 2018-06 Rapperswil Minutes Nina Dinka Ranns 2018-10-07 2018-10 N4753 WG21
P0009r8 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-10-07 2018-10 P0009r7 Library
P0052r9 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2018-10-03 2018-10 P0052r8 Library
P0095R2 Language Variants David Sankel, Dan Sarginson, Sergei Murzin 2018-10-07 2018-10 P0095R1 Evolution
P0124r6 Linux-Kernel Memory Model Paul McKenney, Ulrich Weigand, Andrea Parri, Boqun Feng 2018-09-27 2018-10 P0124R5 SG1
P0192R4 `short float` and fixed-size floating point types Michał Dominiak, Bryce Adelstein Lelbach, Boris Fomitchev, Sergei Nikolaev 2018-10-08 2018-10 P0192R3 Evolution, Library Evolution
P0201R4 A polymorphic value-type for C++ Jonathan Coe, Sean Parent 2018-10-05 2018-10 P0201R3 Library Evolution, Library
P0211R2 Allocator-aware library wrappers for dynamic allocation Thomas Köppe 2018-10-08 2018-10 P0211R1 Library Evolution
P0275R4 A Proposal to add Classes and Functions Required for Dynamic Library Load Antony Polukhin 2018-10-01 2018-10 P0275R3 Library Evolution
P0325R2 to_array from LFTS with updates Zhihao Yuan 2018-07-11 2018-10 P0325R1 Library Evolution
P0330R2 Literal Suffixes for ptrdiff_t and size_t JeanHeyd Meneide, Rein Halbersma 2018-10-01 2018-10 P0330R1 Evolution, Core
P0335R1 Context Tokens for Parallel Algorithms Pablo Halpern 2018-10-07 2018-10 P0335R0 SG1
P0339R5 polymorphic_allocator<> as a vocabulary type Pablo Halpern, Dietmar Kühl 2018-10-07 2018-10 P0339R4 Library
P0350R2 Integrating simd with parallel algorithms Matthias Kretz 2018-10-08 2018-10 P0350R1 Library Evolution
P0356R4 Simplified partial function application Tomasz Kamiński 2018-10-04 2018-10 P0356R3 Library
P0408R5 Efficient Access to basic_stringbuf’s Buffer Peter Sommerlad 2018-10-01 2018-10 P0408R4 Library
P0429R5 A Standard flat_map Zach Laine 2018-10-07 2018-10 P0429R4 Library
P0437R1 Numeric Traits for the Standard Library Walter E. Brown 2018-10-07 2018-10 P0437R0 Library Evolution, Library
P0443r9 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown 2018-10-08 2018-10 P0443R8 SG1, Library Evolution
P0468R1 An Intrusive Smart Pointer Isabella Muerte 2018-06-19 2018-10 P0468R0 SG1, Library Evolution, Library
P0480R1 Structured bindings with explicit types Ville Voutilainen 2018-10-08 2018-10 P0480R0 Evolution
P0482R5 char8_t: A type for UTF-8 characters and strings Tom Honermann 2018-10-06 2018-10 P0482R4 Core, Library
P0487R1 Fixing operator>>(basic_istream&, CharT*) (LWG 2499) Zhihao Yuan 2018-08-23 2018-10 P0487R0 Library
P0533R3 constexpr for <cmath> and <cstdlib> Edward J. Rosten, Oliver J. Rosten 2018-08-05 2018-10 P0533R2 Library Evolution, Library
P0549R4 Adjuncts to std::hash Walter E. Brown 2018-10-07 2018-10 P0549R3 Library Evolution, Library
P0571R2 Type Requirements for <numeric> Algorithms Bryce Adelstein Lelbach 2018-10-08 2018-10 P0571R1 SG1, Library Evolution, Library
P0586R1 Safe integral comparisons Federico Kircheis 2018-08-17 2018-10 P0586R0 Library Evolution
P0602R4 variant and optional should propagate copy/move triviality Zhihao Yuan 2018-08-23 2018-10 P0602R3 Library
P0608R3 A sane variant converting constructor Zhihao Yuan 2018-10-03 2018-10 P0608R2 Library
P0627R3 Function to mark unreachable code Melissa Mears 2018-10-08 2018-10 P0627R2 Library Evolution
P0631R4 Math Constants Lev Minkovsky, John McFarlane 2018-08-12 2018-10 P0631R3 SG6, Library Evolution
P0645R3 Text Formatting Victor Zverovich 2018-10-07 2018-10 P0645R2 Library Evolution, Library
P0652R1 Concurrent associative data structure with unsynchronized view Sergey Murylev, Anton Malakhov, Antony Polukhin 2018-10-01 2018-10 P0652R0 SG1
P0655R1 visit<R>: Explicit Return Type for visit Michael Park, Agustín Bergé 2018-07-09 2018-10 P0655R0 Library Evolution
P0657R2 Deprecate Certain Declarations in the Global Namespace Walter E. Brown 2018-10-07 2018-10 P0657R1 Library Evolution, Library
P0660R4 A Cooperatively Interruptible Joining Thread Nicolai Josuttis, Herb Sutter, Anthony Williams 2018-09-11 2018-10 P0660R3 SG1, Library Evolution, Library
P0660R5 A Cooperatively Interruptible Joining Thread Nicolai Josuttis, Herb Sutter, Anthony Williams 2018-10-06 2018-10 P0660R4 SG1, Library Evolution, Library
P0664r6 C++ Coroutine TS Issues Gor Nishanov 2018-10-04 2018-10 P0664R5 Core
P0709R2 Zero-overhead deterministic exceptions: Throwing values Herb Sutter 2018-10-06 2018-10 P0709R1 Evolution, Library Evolution
P0771R1 std::function move constructor should be noexcept Nevin Liber, Pablo Halpern 2018-10-07 2018-10 P0771R0 Library
P0782R2 Constraining Concepts Overload Sets ADAM David Alan Martin, Erich Keane, Sean R. Spillane 2018-10-08 2018-10 P0782R1 Evolution
P0790R1 Effect of operator<=> on the C++ Standard Library David Stone 2018-08-06 2018-10 P0790R0 Library Evolution, Library
P0792R3 function_ref: a non-owning reference to a Callable Vittorio Romeo 2018-10-07 2018-10 P0792R2 Library
P0796R3 Supporting Heterogeneous & Distributed Computing Through Affinity Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen 2018-10-08 2018-10 P0796R2 SG1, SG14, Library Evolution, Library
P0798R2 Monadic operations for std::optional Simon Brand 2018-10-08 2018-10 P0798R1 SG14, Library Evolution
P0829R3 Freestanding Proposal Ben Craig 2018-10-06 2018-10 P0829R2 SG14, Library Evolution
P0847R1 Deducing this Gašper Ažman, Simon Brand, Ben Deane, Barry Revzin 2018-10-07 2018-10 P0847R0 Evolution
P0863R1 Fixing the partial_order comparison algorithm Jeff Snyder 2018-10-08 2018-10 P0863R0 Library Evolution
P0881R2 A Proposal to add stack trace library Alexey Gorgurov, Antony Polukhin 2018-09-18 2018-10 P0881R1 Core, Library Evolution, Library
P0891R1 Everyone Deserves a Little Order Gašper Ažman 2018-10-27 2018-10 P0891R0 Library Evolution, Library
P0896R3 The One Ranges Proposal Eric Niebler, Casey Carter, Christopher Di Bella 2018-10-07 2018-10 P0896R2 Library Evolution, Library
P0901R1 Size feedback in operator new Andrew Hunter, Chris Kennelly 2018-08-01 2018-10 P0901R0 Evolution
P0907R4 Signed Integers are Two’s Complement JF Bastien 2018-10-06 2018-10 P0907R3 Core
P0912R3 Merge Coroutines TS into C++20 working draft Gor Nishanov 2018-10-02 2018-10 P0912R2 WG21
P0918R2 More simd<> Operations Tim Shen 2018-10-03 2018-10 P0918R1 SG1, Library Evolution
P0920R0 Precalculated hash values in lookup Mateusz Pusz 2018-10-05 2018-10 Library Evolution, Library
P0927R2 Towards A (Lazy) Forwarding Mechanism for C++ James Dennett, Geoff Romer 2018-10-05 2018-10 P0927R1 Evolution
P0932R0 Tightening the constraints on std::function Aaryaman Sagar 2018-02-07 2018-10 Library
P0933R0 Runtime type introspection with std::exception_ptr Aaryaman Sagar 2018-02-07 2018-10 Library Evolution
P0939R1 Directions for ISO C++ H. Hinnant, R. Orr, B. Stroustrup, D. Vandevoorde, M. Wong 2018-10-08 2018-10 P0939R0 WG21
P0953R1 constexpr reflexpr Matúš Chochlík, Axel Naumann, David Sankel, Andrew Sutton 2018-10-07 2018-10 P0953R0 SG7
P0959R1 A Proposal for a Universally Unique Identifier Library Marius Bancila 2018-09-05 2018-10 P0959R0 Library
P0980R0 Making std::string constexpr Louis Dionne 2018-10-07 2018-10 Library Evolution
P0985R2 LWG Chair post-meeting report Marshall Clow 2018-10-07 2018-10 P0985R1 WG21
P0997R0 Retire Pernicious Language Constructs in Module Contexts Nathan Myers, ADAM David Alan Martin, Eric Keane 2018-10-09 2018-10 Evolution
P1004R1 Making std::vector constexpr Louis Dionne 2018-10-07 2018-10 P1004R0 Library
P1005R1 namespace std { namespace fs = filesystem; } Bryce Adelstein Lelbach, Davis Herring 2018-10-07 2018-10 P1005R0 SG3, Library Evolution, Library
P1006R1 Constexpr in std::pointer_traits Louis Dionne 2018-10-07 2018-10 P1006R0 Library
P1007R2 std::assume_aligned Timur Doumler, Chandler Carruth 2018-10-08 2018-10 P1007R1 Library
P1009R0 Array size deduction in new-expressions Timur Doumler 2018-10-08 2018-10 Evolution, Core
P1010R1 Container support for implicit lifetime types Mark Zeren, Chris Kennelly 2018-10-08 2018-10 P1010R0 Library Evolution, Library
P1019R1 Integrating Executors with Parallel Algorithms Jared Hoberock 2018-10-08 2018-10 P1019R0 SG1
P1021R1 Filling holes in Class Template Argument Deduction Mike Spertus, Timur Doumler, Richard Smith 2018-10-07 2018-10 P1021R0 Evolution
P1026R1 A call for an `Elsewhere Memory' study group Niall Douglas 2018-10-07 2018-10 P1026R0 SG12, SG14, Evolution, Library Evolution
P1028R1 status_code and standard error object for P0709 Zero-overhead deterministic exceptions Niall Douglas 2018-08-30 2018-10 P1028R0 SG14, Library Evolution
P1029R1 [[move_relocates]] Niall Douglas 2018-08-07 2018-10 P1029R0 Evolution
P1031R1 Low level file i/o library Niall Douglas 2018-09-11 2018-10 P1031R0 SG14, Library Evolution
P1032R1 Misc constexpr bits Antony Polukhin 2018-10-01 2018-10 P1032R0 Library
P1035R1 Input range adaptors Christopher Di Bella 2018-10-08 2018-10 P1035R0 Library Evolution
P1040R2 std::embed JeanHeyd Meneide 2018-10-02 2018-10 P1040R1 Evolution, Library Evolution
P1056R1 Add lazy coroutine (coroutine task) type Lewis Baker, Gor Nishanov 2018-10-07 2018-10 P1056R0 Library
P1063R1 Core Coroutines Geoff Romer, James Dennett, Chandler Carruth 2018-10-05 2018-10 P1063R0 Evolution
P1065R0 constexpr INVOKE Barry Revzin 2018-10-07 2018-10 Library Evolution, Library
P1066R1 How to catch an exception_ptr without even try-ing Mathias Stearn 2018-10-06 2018-10 P1066R0 Library Evolution
P1069R0 Refining standard library support for Class Template Argument Deduction Mike Spertus, Walter E. Brown, Stephan T. Lavavej 2018-10-08 2018-10 Library Evolution, Library
P1072R1 Optimized Initialization for basic_string and vector Chris Kennelly, Mark Zeren 2018-10-07 2018-10 P1072R0 SG16, Library Evolution, Library
P1073R2 Immediate functions Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-10-04 2018-10 P1073R1 Core
P1083R1 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2018-10-07 2018-10 P1083R0 Library Evolution
P1084R1 Today's return-type-requirements Are Insufficient Walter E. Brown, Casey Carter 2018-10-07 2018-10 P1084R0 Core, Library
P1085R2 Should Span be Regular? Tony Van Eerd 2018-09-21 2018-10 P1085R1 Library Evolution, Library
P1089R2 Sizes Should Only span Unsigned Robert Douglas, Nevin Liber, Marshall Clow 2018-06-08 2018-10 P1089R1 Library Evolution
P1091R1 Extending structured bindings to be more like variable declarations Nicolas Lesser 2018-10-08 2018-10 P1091R0 Evolution
P1094R1 Nested Inline Namespaces Alisdair Meredith 2018-09-27 2018-10 P1094R0 Evolution
P1095R0 Zero overhead deterministic failure - A unied mechanism for C and C++ Niall Douglas 2018-08-29 2018-10 SG14, Evolution
P1096R0 Simplify the customization point for structured bindings Timur Doumler 2018-10-08 2018-10 Evolution
P1099R2 Using Enum Gašper Ažman, Jonathan Müller 2018-09-01 2018-10 P1099R1 SG1, Evolution
P1103R1 Merging Modules Richard Smith 2018-10-08 2018-10 P1103R0 WG21
P1105R1 Leaving no room for a lower-level language: A C++ Subset Ben Craig, Ben Saks 2018-10-06 2018-10 P1105R0 SG1, SG10, SG14, Evolution, Library Evolution
P1108R1 web_view Hal Finkel 2018-10-08 2018-10 P1108R0 Library Evolution
P1109R1 WG21 2018-06 Rapperswil Record of Discussion Nina Dinka Ranns 2018-10-07 2018-10 P1109R0 WG21
P1112R0 Language support for class layout control Pal Balog 2018-09-28 2018-10 Evolution
P1121R0 Hazard Pointers: Proposed Interface and Wording for Concurrency TS 2 Maged M. Michael, Michael Wong, Paul McKenney, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt, Frank Birbacher, Mathias Stearn 2018-10-05 2018-10 Library Evolution, Library
P1122R1 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-07-04 2018-10 P1122R0 Core, Library
P1131R1 Core Issue 2292: simple-template-id is ambiguous between class-name and type-name Jens Maurer 2018-10-02 2018-10 P1131R0 Core
P1132R1 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide, Todor Buyukliev, Isabella Muerte 2018-08-11 2018-10 P1132R0 Library Evolution, Library
P1135R1 The C++20 Synchronization Library Bryce Adelstein Lelbach, Olivier Giroux, JF Bastien 2018-10-08 2018-10 P1135R0 SG1, Library Evolution, Library
P1138R0 Deprecating ATOMIC_VAR_INIT Aaron Ballman 2018-06-22 2018-10 SG1, Evolution
P1141R1 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, Walter E. Brown, Michael Spertus 2018-10-08 2018-10 P1141R0 Evolution
P1143R0 Adding the `[[constinit]]` attribute Eric Fiselier 2018-07-04 2018-10 Evolution
P1144R0 Object relocation in terms of move plus destroy Arthur O'Dwyer, Mingxin Wang 2018-10-04 2018-10 Evolution, Library Evolution
P1145R0 Buffer Sequence Adaptors Vinnie Falco 2018-07-09 2018-10 Library Evolution
P1147R0 Printing `volatile` Pointers Bryce Adelstein Lelbach 2018-10-07 2018-10 Library Evolution
P1148R0 Cleaning up Clause 20 Tim Song 2018-10-07 2018-10 Library
P1149R0 Constexpr regex Antony Polukhin 2018-10-01 2018-10 Library Evolution
P1152R0 Deprecating volatile JF Bastien 2018-10-01 2018-10 SG1, Evolution, Library Evolution
P1153R0 Copying volatile subobjects is not trivial Arthur O'Dwyer, JF Bastien 2018-10-04 2018-10 Evolution
P1154R0 Type traits for structural comparison Arthur O'Dwyer, Jeff Snyder 2018-10-04 2018-10 Library Evolution
P1155R0 More implicit moves Arthur O'Dwyer, David Stone 2018-10-04 2018-10 Evolution
P1156R0 Merged Modules and Tooling Boris Kolpackov 2018-10-04 2018-10 Evolution
P1157R0 Multi-argument constrained-parameter Zhihao Yuan 2018-07-14 2018-10 Evolution
P1158R0 Concept-defined placeholder types Zhihao Yuan 2018-07-11 2018-10 Evolution
P1159R0 Type Erased Iterators for modern C++ Thomas Russell 2018-07-02 2018-10 Library Evolution
P1160R0 Add Test Polymorphic Memory Resource to the Standard Library Attila Fehér, Alisdair Meredith 2018-10-07 2018-10 Library Evolution

Deterministic Disappointment -- Niall Douglas

All the ways past, present and future that one can disappoint deterministically in C++.

Deterministic Disappointment

by Niall Douglas

Content of the talk:

1. What is disappointment?
2. What is determinism?
3. The direction of C++
4. Future disappointment in C++?
5. Achieving the future today
   a. C++ 11 system_error
   b. C++ 11 P1028 SG14 status_code
   c. C++ 14 (Boost.) Outcome

 

The case for Auto Non-Static Data Member Initializers -- Corentin Jabot

The case for Auto Non-Static Data Member Initializers

By Corentin Jabot

 

From the article:

In this article, we talk about Auto Non-Static Data Member Initializers in C++. All code snippet can be tested on Compiler Explorer thanks to Matt Godbolt.

In fact, the main motivation for this article is to put this feature in the hand of people to prove that it works and that it would be a great addition to the standard.

Codeplay Announces World's First Fully-Conformant SYCL 1.2.1 Solution

SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++.  Developers are looking at how they can accelerate their applications without having to write optimized processor specific code. SYCL is the industry standard for C++ acceleration, giving developers a platform to write high-performance code in standard C++, unlocking the performance of accelerators and specialized processors from companies such as AMD™, Intel™, Renesas™ and Arm®.

Codeplay Announces World's First Fully-Conformant SYCL 1.2.1 Solution

by Codeplay

About the release:

Codeplay's ComputeCpp 1.0 enables SYCL and provides C++ developers with huge benefits:
    High Performance Computing: Supercomputers are playing an important role in computationally intensive tasks in the fields of science, finance, and many others to provide complex calculations and simulations. SYCL offers a standard way for HPC developers to write portable, efficient, accelerated code using standard C++ that can be deployed to GPUs, FPGAs and other accelerators
    Computer Vision: Complex image processing operations can be accelerated using parallel computing. ComputeCpp and SYCL provide high-level programmability for custom vision processors, enabling additional custom features on top of existing optimized hardware functions
    Artificial Intelligence: Linear algebra is increasingly being used in artificial intelligence applications and benefits from parallel architectures. The Eigen linear algebra library, SYCLBLAS and TensorFlow frameworks can be accelerated using ComputeCpp for a wide variety of heterogeneous hardware

Results summary: C++ Foundation Developer Survey "Lite", 2018-08: C++ and Cloud

Over the past week, we ran our second global C++ developer survey, this time focusing on C++ use in cloud-related workloads.

Thank you to everyone who responded. As promised, here is a public summary of the results:

CppDevSurvey-2018-08-cloud-summary.pdf

This summary has now been forwarded to the C++ standards committee, along with the full text of your write-in answers. Your feedback will be very helpful, and thank you again for your participation!

C++ Foundation Developer Survey "Lite", 2018-08: C++ and Cloud

cpp_logo.pngThank you to the over 3,000 people who participated six months ago in the Standard C++ Foundation's first-ever global C++ developer survey. Based on its success, we have decided to run these surveys about twice a year to learn about C++ usage generally across industries or in specific current domains.

This time, we focus on the domain of cloud-related software. As the name suggests, it's a one-pager:

C++ Developer Survey "Lite", 2018-08: C++ and Cloud

Please take 10 minutes or so to participate! A summary of the results, including aggregated highlights of common answers in the write-in responses, will be posted publicly here on isocpp.org and shared with the C++ standardization committee to help inform C++ evolution.

The survey will be open for one week.

Thank you for participating and helping to inform our committee and community.

Announcing “trivially relocatable”-- Arthur O’Dwyer

Do you want this?

Announcing “trivially relocatable”

by Arthur O’Dwyer

From the article:

Frequent users of Compiler Explorer, a.k.a. godbolt.org, may have noticed that a few days ago a new compiler appeared in its dropdown menu. “x86-64 clang (experimental P1144)” is a branch of Clang which I have patched to support the concept of “trivially relocatable types,” as described in my C++Now 2018 talk and as proposed for standardization in my upcoming paper P1144 “Object relocation in terms of move plus destroy” (coauthored with Mingxin Wang)...

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