A short video from Prague: C++20 is here!
Here's a 9-minute taste of what it was like to be at the Prague meeting, with attendees talking about their favorite highlights of C++20...
June 16-21, Sofia, Bulgaria
By Blog Staff | Feb 18, 2020 09:46 AM | Tags: None
Here's a 9-minute taste of what it was like to be at the Prague meeting, with attendees talking about their favorite highlights of C++20...
By Blog Staff | Feb 16, 2020 12:39 AM | Tags: None
A landmark release of C++:
Winter ISO C++ standards meeting (Prague)
by Herb Sutter
From the article:
C++20 is done! ...
By Adrien Hamelin | Feb 12, 2020 02:57 PM | Tags: community
Did you know them?
Five Awesome C++ Papers for the Prague ISO Meeting and C++20 Status
by Bartlomiej Filipek
From the article:
Continuing the tradition for other ISO C++ Meetings, I prepared a blog post where you’ll learn about:
- The current status of C++20
- an overview about the Prague ISO C++ Meeting (10th till 15th February 2020)
- a few interesting papers that are worth reading
Let’s start!
By Corentin Jabot | Feb 7, 2020 11:45 AM | Tags: c++23
SG-11, the study group charged of all things concurrency and parallelism made forward progress and sent the proposal to LEWG - with the hope of landing a future revision in the C++23 draft. This is rather big news given that this work has been brewing for about a decade.
A Universal I/O Abstraction for C++
by Corentin Jabot
From the article:
The year is 2020 and even consummer CPUs feature double digits number of cores, storage offers 10GB/s read speeds and networks have to accommodate ever-growing traffic.
For a long time, the C++ committee seemed to think that either async file I/O didn’t make sense or was fundamentally irreconcilable with networking. This belief would lead to two inter-incompatible APIs in the standard, which would be a nightmare in term of usability (aka ASIO and AFIO).
It seems that there is finally a way to resolve these divides:
io_uring offers very high performance I/O which doesn’t discriminate on device type.
Sender Receiver provides the composable, low-cost, non-allocating abstraction while offering a simple mental model for asynchronous operations lifetime.
Coroutines make asynchronous i/o dead simple for the 99% use case.
Asynchronous Networking is nice.Asynchronous I/O is better.
AWAIT ALL THE THINGS!
By Adrien Hamelin | Jan 20, 2020 11:29 AM | Tags: community
Did you know about the proposal?
Why were abbrev. lambdas rejected?
by Barry Revzin
From the article:
In November, 2017, I presented my proposal for abbreviated lambdas (P0573R2) to Evolution in Albuquerque. It was rejected (6-17), though the group was willing to consider future proposals for shorter lambdas which present new technical information (18-2).
Since then, there’s been a lot of confusion about what actually happened and why it was rejected, and part of this was my fault for not doing a good job communicating this to interested parties. Actually, that’s generous - I didn’t really communicate anything. So here is my making up for lost time by actually conveying this information...
By Blog Staff | Jan 18, 2020 03:51 PM | Tags: None
The 2020-01 mailing of new standards papers is now available.
WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup | Disposition |
---|---|---|---|---|---|---|---|
P1970R1 | Consistency for size() functions | Hannes Hauswedell | 2020-01-13 | 2020-01 | P1970R0 | Library | |
P1976R1 | Fixed-size 'span' construction from dynamic-size range | Tomasz Kamiński | 2020-01-03 | 2020-01 | P1976R0 | Library | |
P1985R0 | Universal template parameters | Gašper Ažman, Mateusz Pusz | 2020-01-13 | 2020-01 | EWGI | ||
P1988R0 | Allow Templates in Local Classes | Steve Downey | 2020-01-13 | 2020-01 | EWGI, Evolution | ||
P1990R0 | Add operator[] to std::initializer_list | Daniil Goncharov, Antony Polukhin | 2019-12-16 | 2020-01 | LEWGI, Library Evolution, Library | ||
P1993R1 | Restore shared state to bulk_execute | Jared Hoberock | 2020-01-12 | 2020-01 | P1993R0 | SG1, Library Evolution | |
P1997R1 | Relaxing Restrictions on Arrays | Krystian Stasiowski, Theodoric Stier | 2020-01-13 | 2020-01 | P1997R0 | Evolution | |
P1998R1 | Simple Facility for Lossless Integer Conversion | Ryan McDougall | 2020-01-08 | 2020-01 | P1998R0 | SG6, LEWGI | |
P2000R0 | Direction for ISO C++ | Michael Wong | 2020-01-13 | 2020-01 | WG21 | ||
P2002R0 | Defaulted comparison specification cleanups | Richard Smith | 2019-12-17 | 2020-01 | Core | ||
P2003R0 | Fixing Internal and External Linkage Entities in Header Units | Michael Spencer | 2020-01-13 | 2020-01 | SG2, Evolution | ||
P2004R0 | Numbers and their Scopes | Antony Polukhin | 2019-12-17 | 2020-01 | SG6, LEWGI | ||
P2005R0 | A Brief 2D Graphics Review | James Berrow | 2019-12-21 | 2020-01 | SG13 | ||
P2006R0 | Eliminating heap-allocations in sender/receiver with connect()/start() as basis operations | Lewis Baker, Eric Niebler, Kirk Shoop, Lee Howes | 2020-01-13 | 2020-01 | SG1, Library Evolution | ||
P2007R0 | `std::from_chars` should work with `std::string_view` | Mateusz Pusz | 2020-01-10 | 2020-01 | LEWGI, Library Evolution | ||
P2008R0 | Enable variable template template parameters | Mateusz Pusz | 2020-01-10 | 2020-01 | EWGI | ||
P2009R0 | SG16: Unicode meeting summaries 2019-10-09 through 2019-12-11 | Tom Honermann | 2019-12-28 | 2020-01 | SG16 | ||
P2010R0 | Remove iostream operators from P1889 | Daniil Goncharov | 2019-12-27 | 2020-01 | SG6, LEWGI | ||
P2011R0 | A pipeline-rewrite operator | Barry Revzin, Colby Pike | 2020-01-07 | 2020-01 | Evolution | ||
P2013R0 | Freestanding Language: Optional ::operator new | Ben Craig | 2020-01-10 | 2020-01 | SG14, Evolution | ||
P2014R0 | Proposed resolution for US061/US062 - aligned allocation of coroutine frames | Lewis Baker, Gor Nishanov | 2020-01-13 | 2020-01 | Evolution | ||
P2016R0 | A step parameter for iota | Corentin Jabot | 2020-01-14 | 2020-01 | Library Evolution | ||
P2017R0 | Conditionally safe ranges | Barry Revzin | 2020-01-07 | 2020-01 | Library | ||
P2020R0 | Locales, Encodings and Unicode | Corentin Jabot | 2020-01-13 | 2020-01 | SG16 | ||
P2021R0 | Negative zero strikes again | Victor Zverovich | 2020-01-09 | 2020-01 | Library Evolution | ||
P2024R0 | Bloomberg Analysis of Unified Executors | David Sankel, Frank Birbacher, Marina Efimova, Dietmar Kuhl, Vern Riedlin | 2020-01-13 | 2020-01 | Library Evolution | ||
P2025R0 | Guaranteed copy elision for named return objects | Anton Zhilin | 2020-01-08 | 2020-01 | EWGI | ||
P2026R0 | A Constituent Study Group for Safety-Critical Applications | Ryan McDougall, Bryce Adelstein Lelbach, JF Bastien, Andreas Weis, Ruslan Arutyunyan, Ilya Burylov | 2020-01-14 | 2020-01 | WG21, Evolution, Library Evolution | ||
P2027R0 | Moved-from objects need not be valid | Geoff Romer | 2020-01-10 | 2020-01 | Library Evolution, Library | ||
P2028R0 | What is ABI, and What Should WG21 Do About It? | Titus Winters | 2020-01-10 | 2020-01 | Evolution, Library Evolution | ||
P2029R0 | Proposed resolution for core issues 411, 1656, and 2333; escapes in character and string literals | Tom Honermann | 2020-01-12 | 2020-01 | Core | ||
P2030R0 | SG19: Machine Learning 2019/10/10-2020/01/09 | Michael Wong | 2020-01-10 | 2020-01 | SG19 | ||
P2031R0 | SG14: Meeting Minutes 2019/10/08-2020/01/07 | Michael Wong | 2020-01-10 | 2020-01 | SG14 | ||
P2033R0 | History of Executor Properties | Jared Hoberock | 2020-01-10 | 2020-01 | SG1 | ||
P2034R0 | Partially Mutable Lambda Captures | Ryan McDougall | 2020-01-11 | 2020-01 | EWGI | ||
P2035R0 | Value Proposition: Allocator-Aware (AA) Software | Pablo Halpern, John Lakos | 2020-01-13 | 2020-01 | LEWGI, Library Evolution | ||
P2036R0 | Changing scope for lambda trailing-return-type | Barry Revzin | 2020-01-12 | 2020-01 | Evolution | ||
P2037R0 | String's gratuitous assignment | Andrzej Krzemieński | 2020-01-11 | 2020-01 | Library Evolution | ||
P2038R0 | Proposed nomenclature for contract-related proposals | Andrzej Krzemieński, Ryan McDougall | 2020-01-11 | 2020-01 | SG21 | ||
P2039R0 | do_until Loop | Menashe Rosemberg | 2020-01-01 | 2020-01 | LEWGI | ||
P2040R0 | Reflection-based lazy-evaluation | Corentin Jabot | 2020-01-13 | 2020-01 | SG7 | ||
P2041R0 | Deleting variable templates | David Stone | 2020-01-11 | 2020-01 | Evolution | ||
P2042R0 | Alternate names for make_shared_default_init | Andrzej Krzemieński | 2020-01-11 | 2020-01 | Library Evolution | ||
P2043R0 | Don't constexpr All The Things | David Sankel | 2020-01-13 | 2020-01 | SG7 | ||
P2044R0 | Member Templates for Local Classes | Robert Leahy | 2020-01-12 | 2020-01 | EWGI, Evolution | ||
P2045R0 | Missing Mandates for the standard library | Marshall Clow | 2020-01-13 | 2020-01 | Library | ||
P2046R0 | Rangify New Algorithms | Dan Raviv | 2020-01-12 | 2020-01 | Library | ||
P2047R0 | An allocator-aware optional type | Nina Ranns, Pablo Halpern Ville Voutilainen | 2020-01-13 | 2020-01 | LEWGI, Library Evolution | ||
P2048R0 | Prohibit zero and NULL from being used as null pointer literals | Vittorio Romeo | 2020-01-12 | 2020-01 | EWGI | ||
P2049R0 | Constraint refinement for special-cased functions | Andrew Sutton, Wyatt Childers | 2020-01-13 | 2020-01 | SG7 | ||
P2050R0 | Tweaks to the design of source code fragments | Andrew Sutton, Wyatt Childers | 2020-01-13 | 2020-01 | SG7 | ||
P2051R0 | C++ Library Issues to be moved in Prague | Marshall Clow | 2020-01-13 | 2020-01 | WG21 | ||
P2052R0 | Making modern C++ i/o a consistent API experience from bottom to top | Niall Douglas | 2020-01-12 | 2020-01 | SG1, LEWGI, Library Evolution | ||
P2054R0 | Audio I/O Software Use Cases | Sophia Poirier, Frank Birbacher, Timur Doumler | 2020-01-13 | 2020-01 | SG13 | ||
P2055R0 | A Relaxed Guide to memory_order_relaxed | Paul E. McKenney, Hans Boehm | 2020-01-12 | 2020-01 | SG1 | ||
P2057R0 | SG14 SG19 Past, Present and Future status | Michael Wong, Ben Craig, Paul Bendixen, Matthew Bentley, Inbal Levi, Rene Riviera, Steffan Tjernstrom, Mark Hoemmen, Ronen Friedman | 2020-01-13 | 2020-01 | SG14, SG19 | ||
P2058R0 | Make std::random_device Less Inscrutable | Martin Hořeňovský | 2020-01-13 | 2020-01 | Library Evolution | ||
P2059R0 | Make Pseudo-random Numbers Portable | Martin Hořeňovský | 2020-01-13 | 2020-01 | Library Evolution | ||
P2060R0 | Make Random Number Engines Seedable | Martin Hořeňovský | 2020-01-13 | 2020-01 | Library Evolution | ||
P2061R0 | Sequential consistency for atomic memcpy | David Goldblatt | 2020-01-13 | 2020-01 | SG1 | ||
P2062R0 | The Circle Meta-model | Daveed Vandevoorde, Wyatt Childers, Andrew Sutton, Faisal Vali | 2020-01-13 | 2020-01 | SG7 | ||
P2064R0 | Assumptions | Herb Sutter | 2020-01-13 | 2020-01 | SG21, Evolution | ||
P2065R0 | naming and aliases | Kirk Shoop | 2020-01-13 | 2020-01 | Library Evolution | ||
P2066R0 | Suggested draft TS for C++ Extensions for Transaction Memory Light | Jens Maurer, Michael L. Scott | 2020-01-13 | 2020-01 | SG1, Evolution | ||
P2067R0 | Allowing trailing commas in ctor-initializer | Marc Mutz | 2020-01-13 | 2020-01 | EWGI | ||
P2068R0 | Using ?: to reduce the scope of constexpr-if | Marc Mutz | 2020-01-13 | 2020-01 | EWGI | ||
P2069R0 | Stackable, thread local, signal guards | Niall Douglas | 2020-01-13 | 2020-01 | SG1, SG12, EWGI, LEWGI | ||
P2070R0 | A case for optional and object_ptr | Peter Sommerlad, Anthony Williams, Michael Wong, Jan Babst | 2020-01-13 | 2020-01 | SG12, LEWGI, Library Evolution, Library | ||
P2071R0 | Named universal character escapes | Tom Honermann, Peter Bindels | 2020-01-13 | 2020-01 | SG16, Evolution | ||
P2072R0 | Differentiable programming for C++ | Marco Foco, Vassil Vassilev, Max Rietmann, Michael Wong | 2020-01-13 | 2020-01 | SG19 | ||
P2073R0 | Debugging C++ coroutines | Dmitry Duka, Ivan Shutov, Konstantin Sadov | 2020-01-13 | 2020-01 | SG15 | ||
P2074R0 | Asynchronous callstacks & coroutines | Dmitry Duka | 2020-01-13 | 2020-01 | SG15 | ||
P2075R0 | Philox as an extension of the C++ RNG engines | Pavel Dyakov, Ilya Burylov; Ruslan Arutyunyan; Andrey Nikolaev | 2020-01-13 | 2020-01 | SG6 | ||
P2076R0 | Previous disagreements on Contracts | Ville Voutilainen | 2020-01-13 | 2020-01 | SG21 | ||
P2077R0 | Heterogeneous erasure overloads for associative containers | Konstantin Boyarinov, Sergey Vinogradov; Ruslan Arutyunyan | 2020-01-13 | 2020-01 | LEWGI | ||
P2078R0 | Add new traits type std::is_complex | Bob Steagall | 2020-01-13 | 2020-01 | SG6, Library Evolution | ||
P2079R0 | Shared execution engine for executors | Ruslan Arutyunyan, Michael Voss | 2020-01-13 | 2020-01 | SG1 | ||
P2080R0 | Polymorphic allocators: There is no such thing as One True Vocabulary Type | Ville Voutilainen | 2020-01-13 | 2020-01 | Library Evolution | ||
P2081R0 | Rebase the Library Fundamentals v3 TS on C++20 | Thomas Köppe | 2020-01-13 | 2020-01 | Library Evolution, Library | ||
P2082R0 | Fixing CTAD for aggregates | Timur Doumler | 2020-01-13 | 2020-01 | Core | ||
P2087R0 | Reflection Naming: fix reflexpr | Mihail Naydenov | 2020-01-12 | 2020-01 | SG7 | ||
P2088R0 | Reflection Naming: Reification | Mihail Naydenov | 2020-01-12 | 2020-01 | SG7 |
By Blog Staff | Jan 18, 2020 03:48 PM | Tags: None
The 2020-01 mailing of new standards papers is now available.
WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup | Disposition |
---|---|---|---|---|---|---|---|
N4845 | Belfast 2019 LEWG Summary | Titus Winters | 2019-12-18 | 2020-01 | WG21 | ||
N4846 | Agenda - Prague, February 2020 | John Spicer | 2019-12-31 | 2020-01 | WG21 | ||
N4847 | WG21 telecon meeting: Pre-Prague | Herb Sutter | 2020-01-13 | 2020-01 | WG21 | ||
N4848 | WG21 Autumn Meeting 2020 - New York, New York, USA | Kevin Fleming | 2020-01-14 | 2020-01 | WG21 | ||
N4849 | Working Draft, Standard for Programming Language C++ | Richard Smith | 2020-01-14 | 2020-01 | N4842 | WG21 | |
N4850 | Editors' Report - Programming Languages - C++ | Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik | 2020-01-14 | 2020-01 | WG21 | ||
P0211R3 | Allocator-aware library wrappers for dynamic allocation | Thomas Köppe | 2020-01-14 | 2020-01 | P0211R2 | Library Evolution | |
P0260R4 | C++ Concurrent Queues | Lawrence Crowl, Chris Mysen | 2020-01-13 | 2020-01 | P0260R3 | Library Evolution | |
P0261R4 | C++ Distributed Counters | Lawrence Crowl | 2020-01-13 | 2020-01 | P0261R3 | Library Evolution | |
P0330R8 | Literal Suffixes for (signed) size_t | JeanHeyd Meneide, Rein Halbersma | 2020-01-11 | 2020-01 | P0330R7 | Core | |
P0350R4 | Integrating simd with parallel algorithms | Matthias Kretz | 2020-01-13 | 2020-01 | P0350R3 | Library Evolution | |
P0401R2 | Providing size feedback in the Allocator interface | Chris Kennelly, Jonathan Wakely | 2020-01-12 | 2020-01 | P0401R1 | Library Evolution, Library | |
P0443R12 | A Unified Executors Proposal for C++ | Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, David Hollman, Lee Howes, Kirk Shoop, Lewis Baker, Eric Niebler | 2020-01-10 | 2020-01 | P0443R11 | SG1, Library Evolution | |
P0447R10 | Introduction of std::colony to the standard library | Matt Bentley | 2019-12-10 | 2020-01 | P0447R9 | WG21, SG14, LEWGI, Library Evolution | |
P0539R5 | A Proposal to add wide_int Template Class | Antony Polukhin | 2019-12-18 | 2020-01 | P0539R4 | SG6, LEWGI, Library Evolution | |
P0843R4 | static_vector | Gonzalo Brito Gadeschi | 2020-01-13 | 2020-01 | P0843R3 | Library | |
P0847R4 | Deducing this | Gašper Ažman, Simon Brand, Ben Deane, Barry Revzin | 2020-01-13 | 2020-01 | P0847R2 | Evolution | |
P0870R1 | A proposal for a type trait to detect narrowing conversions | Giuseppe D'Angelo | 2020-01-13 | 2020-01 | P0870R0 | LEWGI | |
P0876R10 | fiber_context - fibers without scheduler | Oliver Kowalke, Nat Goodspeed | 2020-01-10 | 2020-01 | P0876R9 | SG1, Evolution, Library Evolution | |
P0928R1 | Mitigating Spectre v1 Attacks in C++ | Devin Jeanpierre, Geoffrey Romer, Chandler Carruth | 2020-01-13 | 2020-01 | P0928R0 | SG12, Evolution | |
P1018R5 | Language Evolution status after Belfast 2019 | JF Bastien | 2020-01-05 | 2020-01 | P1018R4 | WG21, Evolution | |
P1028R3 | SG14 status_code and standard error object | Niall Douglas | 2020-01-12 | 2020-01 | P1028R2 | LEWGI, Library Evolution | |
P1029R3 | move = bitcopies | Niall Douglas | 2020-01-12 | 2020-01 | P1029R2 | Evolution | |
P1040R5 | std::embed and #depend | JeanHeyd Meneide | 2020-01-07 | 2020-01 | P1040R4 | SG7, Evolution | |
P1046R2 | Automatically Generate More Operators | David Stone | 2020-01-11 | 2020-01 | P1046R1 | Evolution, Library Evolution | |
P1068R3 | Vector API for random number generation | Ilya Burylov, Pavel Dyakov, Ruslan Arutyunyan, Andrey Nikolaev | 2020-01-13 | 2020-01 | P1068R2 | Library Evolution | |
P1112R3 | Language support for class layout control | Pal Balog | 2020-01-13 | 2020-01 | P1112R2 | EWGI | |
P1243R3 | Rangify New Algorithms | Dan Raviv | 2020-01-09 | 2020-01 | P1243R2 | Library | |
P1322R1 | Networking TS enhancement to enable custom I/O executors | Christopher Kohlhoff | 2020-01-13 | 2020-01 | P1322R0 | SG1, SG4, Library Evolution | |
P1371R2 | Pattern Matching | Sergei Murzin, Michael Park, David Sankel, Dan Sarginson | 2020-01-13 | 2020-01 | P1371R1 | Evolution | |
P1385R5 | A proposal to add linear algebra support to the C++ standard library | Guy Davidson, Bob Steagall | 2020-01-13 | 2020-01 | P1385R4 | Library Evolution | |
P1436R3 | Executor properties for affinity-based execution | Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen, Tom Scogland | 2020-01-14 | 2020-01 | P1436R2 | SG1, SG14 | |
P1460R0 | Mandating the Standard Library: Clause 20 - Utilities library | Marshall Clow, Alberto Barbati | 2020-01-13 | 2020-01 | Library | ||
P1467R3 | Extended floating-point types | David Olsen, Michał Dominiak | 2020-01-12 | 2020-01 | P1467R2 | Evolution, Library Evolution | |
P1468R3 | Fixed-layout floating-point type aliases | Michał Dominiak, David Olsen, Boris Fomitchev, Sergei Nikolaev | 2020-01-12 | 2020-01 | P1468R2 | Evolution, Library Evolution | |
P1496R2 | Formatting of Negative Zero | Alan Talbot | 2020-01-12 | 2020-01 | P1496R1 | Library Evolution, Library | |
P1609R3 | C++ Should Support Just-in-Time Compilation | Hal Finkel | 2020-01-13 | 2020-01 | P1609R2 | SG7, EWGI | |
P1641R2 | Freestanding Library: Rewording the Status Quo | Ben Craig | 2020-01-10 | 2020-01 | P1641R1 | SG14, Library Evolution | |
P1642R2 | Freestanding Library: Easy [utilities], [ranges], and [iterators] | Ben Craig | 2020-01-10 | 2020-01 | P1642R1 | SG14, Library Evolution | |
P1664R2 | reconstructible_range - a concept for putting ranges back together | JeanHeyd Meneide | 2020-01-06 | 2020-01 | P1664R1 | Library Evolution | |
P1673R2 | A free function linear algebra interface based on the BLAS | Mark Hoemmen, David Hollman, Christian Trott, Daniel Sunderland, Nevin Liber, Siva Rajamanickam, Li-Ta Lo, Damien Lebrun-Grandie, Graham Lopez, Peter Caday, Sarah Knepper, Piotr Luszczek, Timothy Costa | 2020-01-13 | 2020-01 | P1673R1 | SG1, SG6, SG14, SG19, Library Evolution | |
P1689R2 | Format for describing dependencies of source files | Ben Boeckel, Brad King | 2020-01-13 | 2020-01 | P1689R1 | SG15, SG16, Evolution | |
P1706R2 | Programming Language Vulnerabilities for Safety Critical C++ | Michael Wong, Stephen Michel, Peter Sommerlad, Lisa Lippincott, Aaron Ballman, Richard Corden, Clive Pygott, Erhard Ploedereder, John McFarlane, Paul Preney, Andreas Weis, Federico Kircheis, Tullio Vardanega, Jorg Brown, Chris Tapp | 2020-01-13 | 2020-01 | P1706R1 | SG12 | |
P1708R2 | Simple Statistical Functions | Michael Wong, Micheal Chiu, Richard Dosselmann, Eric Niebler, Phillip Ratzlof, Vincent Reverdy | 2020-01-10 | 2020-01 | P1708R1 | SG19 | |
P1709R2 | Graph Library | Michael Wong, Phillip Ratzloff, Richard Dosselmann, Michael Wong, Matthew Galati, Andrew Lumsdaine, Jens Maurer, Domagoj Saric, Jesun Firoz, Kevin Deweese | 2020-01-13 | 2020-01 | P1709R1 | SG19 | |
P1726R2 | Pointer lifetime-end zap | Maged Michael, Jens Mauer, Peter Sewell, Martin Uecker, Hans Boehm, Hubert Tong, Niall Douglas, Will Deacon, Michael Wong, and David Goldblatt | 2020-01-13 | 2020-01 | P1726R1 | SG1, SG12, Evolution | |
P1732R2 | Do not promise support for function syntax of operators | CJ Johnson | 2019-12-10 | 2020-01 | P1732R1 | Library Evolution, Library | |
P1759R2 | Native handle from file streams | Elias Kosunen | 2019-12-13 | 2020-01 | P1759R1 | Library Evolution | |
P1774R3 | Portable assumptions | Timur Doumler | 2020-01-13 | 2020-01 | P1774R2 | Evolution | |
P1779R3 | ABI isolation for member functions | S. Davis Herring | 2020-01-14 | 2020-01 | P1779R2 | Core | |
P1790R1 | Networking TS changes to enable better DynamicBuffer composition | Christopher Kohlhoff | 2020-01-13 | 2020-01 | P1790R0 | SG4, Library Evolution | |
P1795R2 | System topology discovery for heterogeneous & distributed computing | Gordon Brown, Ruyman Reyes, Michael Wong, Mark Hoemmen, Jeff Hammond, Tom Scogland, Domagoj Šarić | 2020-01-13 | 2020-01 | P1795R1 | SG1, SG14 | |
P1818R1 | Narrowing and Widening Conversions | Lawrence Crowl | 2020-01-13 | 2020-01 | P1818R0 | EWGI | |
P1838R0 | Modules User-Facing Lexicon and File Extensions | Bryce Adelstein Lelbach, Boris Kolpackov | 2020-01-13 | 2020-01 | SG15 | ||
P1847R2 | Make declaration order layout mandated | Pal Balog | 2020-01-13 | 2020-01 | P1847R1 | Evolution | |
P1848R0 | Improve rules of standard layout | Pal Balog | 2020-01-13 | 2020-01 | Evolution | ||
P1857R2 | Modules Dependency Discovery | Michael Spencer | 2020-01-13 | 2020-01 | P1857R1 | Core | |
P1858R1 | Generalized pack declaration and usage | Barry Revzin | 2020-01-08 | 2020-01 | P1858R0 | Evolution | |
P1863R1 | ABI - Now or Never | Titus Winters | 2020-01-12 | 2020-01 | P1863R0 | WG21, Direction Group | |
P1881R1 | Epochs: a backward-compatible language evolution mechanism | Vittorio Romeo | 2020-01-12 | 2020-01 | P1881R0 | EWGI | |
P1883R1 | file_handle and mapped_file_handle | Niall Douglas | 2020-01-12 | 2020-01 | P1883R0 | SG1, LEWGI | |
P1884R0 | Private Module Partition: An Inconsistent Boundary | Nathan Sidwell | 2020-01-13 | 2020-01 | SG2, Evolution | ||
P1885R1 | Naming Text Encodings to Demystify Them | Corentin Jabot | 2020-01-10 | 2020-01 | P1885R0 | SG16, Library Evolution | |
P1887R1 | Reflection on attributes | Corentin Jabot | 2020-01-13 | 2020-01 | P1887R0 | SG7 | |
P1889R1 | C++ Numerics Work In Progress | Alexander Zaitsev, Antony Polukhin | 2019-12-27 | 2020-01 | P1889R0 | SG6 | |
P1897R2 | Towards C++23 executors: A proposal for an initial set of algorithms | Lee Howes | 2020-01-13 | 2020-01 | P1897R1 | SG1 | |
P1912R1 | Types with array-like object representations | Timur Doumler | 2020-01-13 | 2020-01 | P1912R0 | Evolution | |
P1919R2 | Expanding the Rights in SD-8 | Nevin Liber | 2020-01-08 | 2020-01 | P1919R1 | Library Evolution | |
P1935R2 | A C++ Approach to Physical Units | Mateusz Pusz | 2020-01-13 | 2020-01 | P1935R1 | SG6, LEWGI, Library Evolution | |
P1937R1 | Fixing inconsistencies between `constexpr` and `consteval` functions | David Stone | 2020-01-13 | 2020-01 | P1937R0 | Core | |
P1944R0 | Add Constexpr Modifiers to Functions in cstring and cwchar Headers | Daniil Goncharov, Antony Polukhin | 2019-12-16 | 2020-01 | LEWGI, Library Evolution, Library | ||
P1945R0 | Making More Objects Contiguous | Krystian Stasiowski | 2019-10-28 | 2020-01 | Evolution | ||
P1949R1 | C++ Identifier Syntax using Unicode Standard Annex 31 | Steve Downey, Zach Laine, Tom Honermann, Peter Bindels | 2020-01-13 | 2020-01 | P1949R0 | SG7, SG16, Evolution | |
P1950R0 | An indirect value-type for C++ | Jonathan Coe, Antony Peacock | 2020-01-13 | 2020-01 | Library Evolution | ||
P1956R0 | On the naming of low-level bit manipulation functions | Vincent Reverdy | 2020-01-13 | 2020-01 | Library | ||
P1957R1 | Converting from T* to bool should be considered narrowing (re: US 212) | Zhihao Yuan | 2020-01-13 | 2020-01 | P1957R0 | Core, Library | |
P1958R0 | C++ Concurrent Buffer Queue | Lawrence Crowl | 2020-01-13 | 2020-01 | Library Evolution | ||
P1964R1 | Wording for boolean-testable | Tim Song | 2020-01-11 | 2020-01 | P1964R0 | Library | |
P1967R1 | #embed - a simple, scannable preprocessor-based resource acquisition method | JeanHeyd Meneide | 2020-01-04 | 2020-01 | P1967R0 | Evolution |
By Blog Staff | Dec 3, 2019 04:35 PM | Tags: None
The 2019-11 mailing of new standards papers is now available.
WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup | Disposition |
---|---|---|---|---|---|---|---|
N4838 | Pre-Belfast Minutes of Meeting | Nina Ranns | 2019-10-28 | 2019-11 | WG21 | ||
N4839 | WG21 2019-11 Belfast Minutes of Meeting | Nina Ranns | 2019-11-19 | 2019-11 | WG21 | ||
N4840 | Working Draft, C++ Extensions for Library Fundamentals, Version 3 | Thomas Köppe | 2019-11-25 | 2019-11 | N4806 | WG21 | |
N4841 | Editor's Report: C++ Extensions for Library Fundamentals, Version 3 | Thomas Köppe | 2019-11-25 | 2019-11 | WG21 | ||
N4842 | Working Draft, Standard for Programming Language C++ | Richard Smith | 2019-11-27 | 2019-11 | N4835 | WG21 | |
N4843 | Editors' Report - Programming Languages - C++ | Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik | 2019-11-27 | 2019-11 | WG21 | ||
N4844 | Collated CD 14882 Comments | Barry Hedquist | 2019-10-22 | 2019-11 | WG21 | ||
P0592R4 | To boldly suggest an overall plan for C++23 | Ville Voutilainen | 2019-11-25 | 2019-11 | P0592R3 | Evolution, Library Evolution | |
P0642R4 | The Concurrent Invocation Library | Mingxin Wang, Wei Chen | 2019-11-23 | 2019-11 | P0642R3 | SG1, Library Evolution | |
P0883R2 | Fixing Atomic Initialization | Nicolai Josuttis | 2019-11-08 | 2019-11 | P0883R1 | SG1, Library Evolution, Library | Adopted 2019-11 |
P0957R4 | PFA: A Generic, Extendable and Efficient Solution for Polymorphic Programming | Mingxin Wang | 2019-11-23 | 2019-11 | P0957R3 | SG7, Library Evolution, Library | |
P1115R2 | Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if | Marc Mutz | 2019-11-09 | 2019-11 | P1115R1 | Library | |
P1115R3 | Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if | Marc Mutz | 2019-11-25 | 2019-11 | P1115R2 | Library | |
P1179R1 | Lifetime safety: Preventing common dangling | Herb Sutter | 2019-11-22 | 2019-11 | P1179R0 | Evolution | |
P1385R4 | A proposal to add linear algebra support to the C++ standard library | Guy Davidson, Bob Steagall | 2019-11-24 | 2019-11 | P1385R3 | Library Evolution | |
P1391R4 | Range constructor for std::string_view | Corentin Jabot | 2019-11-11 | 2019-11 | P1391R3 | Library Evolution, Library | Adopted 2019-11 |
P1394R4 | Range constructor for std::span | Corentin Jabot, Casey Carter | 2019-11-11 | 2019-11 | P1394R3 | Library | Adopted 2019-11 |
P1456R1 | Move-only views | Casey Carter | 2019-11-12 | 2019-11 | P1456R0 | WG21 | Adopted 2019-11 |
P1478R3 | Byte-wise atomic memcpy | Hans Boehm | 2019-11-18 | 2019-11 | P1478R2 | Library Evolution | |
P1622R3 | Mandating the Standard Library: Clause 32 - Thread support library | Daniel Sunderland | 2019-11-05 | 2019-11 | P1622R2 | Library | Adopted 2019-11 |
P1645R1 | constexpr for numeric algorithms | Ben Deane | 2019-05-14 | 2019-11 | P1645R0 | Library Evolution, Library | Adopted 2019-11 |
P1664R1 | reconstructible_range - a concept for putting ranges back together | JeanHeyd Meneide | 2019-11-30 | 2019-11 | P1664R0 | Library Evolution | |
P1686R2 | Mandating the Standard Library: Clause 27 - Time library | Jeff Garland | 2019-11-05 | 2019-11 | P1686R1 | Library | Adopted 2019-11 |
P1716R3 | ranges compare algorithm are over-constrained | Tomasz Kamiński | 2019-11-07 | 2019-11 | P1716R2 | Library | Adopted 2019-11 |
P1718R2 | Mandating the Standard Library: Clause 25 - Algorithms library | Marshall Clow | 2019-11-08 | 2019-11 | P1718R1 | Library | Adopted 2019-11 |
P1719R2 | Mandating the Standard Library: Clause 26 - Numerics library | Marshall Clow | 2019-11-08 | 2019-11 | P1719R1 | Library | Adopted 2019-11 |
P1720R2 | Mandating the Standard Library: Clause 28 - Localization library | Marshall Clow | 2019-11-07 | 2019-11 | P1720R1 | Library | Adopted 2019-11 |
P1721R2 | Mandating the Standard Library: Clause 29 - Input/Output library | Marshall Clow | 2019-11-07 | 2019-11 | P1721R1 | Library | Adopted 2019-11 |
P1722R2 | Mandating the Standard Library: Clause 30 - Regular Expression library | Marshall Clow | 2019-11-07 | 2019-11 | P1722R1 | Library | Adopted 2019-11 |
P1723R2 | Mandating the Standard Library: Clause 31 - Atomics library | Marshall Clow, Daniel Sunderland | 2019-11-07 | 2019-11 | P1723R1 | Library | Adopted 2019-11 |
P1739R3 | Avoid template bloat for safe_ranges in combination with 'subrange-y' view adaptors. | Hannes Hauswedell | 2019-11-24 | 2019-11 | P1739R2 | Library | |
P1774R2 | Portable assumptions | Timur Doumler | 2019-11-25 | 2019-11 | P1774R1 | Evolution | |
P1779R2 | ABI isolation for member functions | S. Davis Herring | 2019-11-25 | 2019-11 | P1779R1 | Core | |
P1787R3 | Declarations and where to find them | S. Davis Herring | 2019-11-25 | 2019-11 | P1787R2 | Core | |
P1788R3 | Reuse of the built modules (BMI) | Olga Arkhipova | 2019-10-29 | 2019-11 | P1788R2 | SG15, Core | |
P1815R1 | Translation-unit-local entities | S. Davis Herring | 2019-11-25 | 2019-11 | P1815R0 | Core | |
P1839R2 | Accessing Object Representations | Krystian Stasiowski | 2019-11-20 | 2019-11 | P1839R1 | Core | |
P1844R1 | Enhancement of regex | Nozomu Katō | 2019-11-22 | 2019-11 | P1844R0 | LEWGI | |
P1862R1 | Ranges adaptors for non-copyable iterators | Corentin Jabot, Casey Carter | 2019-11-11 | 2019-11 | P1862R0 | Library Evolution, Library | Adopted 2019-11 |
P1865R1 | Add max() to latch and barrier | David Olsen, Olivier Giroux | 2019-11-09 | 2019-11 | P1865R0 | WG21 | Adopted 2019-11 |
P1868R1 | Unicorn width: clarifying units of width and precision in std::format | Victor Zverovich, Zach Laine | 2019-11-24 | 2019-11 | P1868R0 | Library | |
P1869R1 | Rename 'condition_variable_any' interruptible wait methods | Tomasz Kamiński, Michał Dominiak | 2019-11-06 | 2019-11 | P1869R0 | Library | Adopted 2019-11 |
P1870R1 | forwarding-range is too subtle | Barry Revzin | 2019-11-25 | 2019-11 | P1870R0 | Library Evolution | Adopted 2019-11 |
P1871R1 | Concept traits should be named after concepts | Barry Revzin | 2019-11-25 | 2019-11 | P1871R0 | Library | Adopted 2019-11 |
P1874R1 | Dynamic Initialization Order of Non-Local Variables in Modules | Michael Spencer | 2019-11-12 | 2019-11 | P1874R0 | Core | Adopted 2019-11 |
P1878R1 | Constraining Readable Types | Casey Carter | 2019-11-14 | 2019-11 | P1878R0 | Library Evolution, Library | Adopted 2019-11 |
P1892R1 | Extended locale-specific presentation specifiers for std::format | Peter Brett | 2019-11-07 | 2019-11 | P1892R0 | Library | Adopted 2019-11 |
P1897R1 | Towards C++23 executors: An initial set of algorithms | Lee Howes | 2019-11-14 | 2019-11 | P1897R0 | SG1 | |
P1902R1 | Missing feature-test macros 2017-2019 | Barry Revzin | 2019-11-25 | 2019-11 | P1902R0 | Evolution, Library Evolution | Adopted 2019-11 |
P1907R1 | Inconsistencies with non-type template parameters | Jens Maurer | 2019-11-08 | 2019-11 | P1907R0 | Evolution, Core | Adopted 2019-11 |
P1908R1 | Reserving Attribute Names for Future Use | Corentin Jabot | 2019-11-16 | 2019-11 | P1908R0 | Evolution | |
P1919R1 | Expanding the Rights in SD-8 | Nevin Liber | 2019-11-09 | 2019-11 | P1919R0 | Library Evolution | |
P1935R1 | A C++ Approach to Physical Units | Mateusz Pusz | 2019-11-07 | 2019-11 | P1935R0 | SG6, SG16, LEWGI, Library Evolution | |
P1946R0 | Allow defaulting comparisons by value | Barry Revzin, Casey Carter | 2019-11-25 | 2019-11 | Evolution | Adopted 2019-11 | |
P1947R0 | C++ exceptions and alternatives | Bjarne Stroustrup | 2019-11-18 | 2019-11 | Evolution, Library Evolution | ||
P1948R0 | Modules: Keep the dot | Corentin Jabot | 2019-11-11 | 2019-11 | SG2, SG15, Evolution | ||
P1949R0 | C++ Identifier Syntax using Unicode Standard Annex 31 | Steve Downey | 2019-11-20 | 2019-11 | SG7, SG16, EWGI, Evolution | ||
P1951R0 | Default Arguments for pair's Forwarding Constructor | Logan R. Smith | 2019-11-17 | 2019-11 | Library | ||
P1953R0 | Unicode Identifiers And Unicode | Corentin Jabot | 2019-11-11 | 2019-11 | SG7, SG16 | ||
P1955R0 | Top Level Is Constant Evaluated | Frank Birbacher | 2019-11-03 | 2019-11 | Evolution | ||
P1957R0 | Converting from T* to bool should be considered narrowing (re: US 212) | Zhihao Yuan | 2019-11-18 | 2019-11 | Core, Library | ||
P1959R0 | Remove std::weak_equality and std::strong_equality | Barry Revzin | 2019-11-25 | 2019-11 | Core, Library | Adopted 2019-11 | |
P1960R0 | NB Comment Changes Reviewed by SG1 | David Olsen | 2019-11-09 | 2019-11 | WG21 | Adopted 2019-11 | |
P1961R0 | Harmonizing the definitions of total order for pointers | Gašper Ažman | 2019-11-05 | 2019-11 | Library | Adopted 2019-11 | |
P1962R0 | How can you be so certain? | Bjarne Stroustrup | 2019-11-18 | 2019-11 | Evolution, Library Evolution | ||
P1963R0 | Fixing US 313 | Billy O'Neal | 2019-11-09 | 2019-11 | Library | ||
P1964R0 | Casting convertible_to<bool> considered harmful | Tim Song | 2019-11-15 | 2019-11 | Library Evolution | ||
P1965R0 | Blanket Wording for Specifying "Hidden Friends" | Walter E Brown, Daniel Sunderland, Tim Song | 2019-11-06 | 2019-11 | Library | Adopted 2019-11 | |
P1967R0 | #embed - a simple, scannable preprocessor-based resource acquisition method | JeanHeyd Meneide | 2019-11-25 | 2019-11 | Evolution | ||
P1968R0 | Core Language Working Group "tentatively ready" issues for the November, 2019 (Belfast) meeting | William M. (Mike) Miller | 2019-11-07 | 2019-11 | WG21 | Adopted 2019-11 | |
P1969R0 | Core Language Working Group "ready" issues for the November, 2019 (Belfast) meeting | William M. (Mike) Miller | 2019-11-08 | 2019-11 | WG21 | Adopted 2019-11 | |
P1970R0 | Consistency for size() functions | Hannes Hauswedell | 2019-11-08 | 2019-11 | Library | ||
P1971R0 | Core Language Changes for NB Comments at the November, 2019 (Belfast) Meeting | William M. (Mike) Miller | 2019-11-08 | 2019-11 | WG21 | Adopted 2019-11 | |
P1972R0 | US105 Check satisfaction of constraints for non-templates when forming pointer to function | Jens Maurer | 2019-11-09 | 2019-11 | Core | Adopted 2019-11 | |
P1975R0 | Fixing the wording of parenthesized aggregate-initialization | Ville Voutilainen | 2019-11-07 | 2019-11 | Evolution, Core | Adopted 2019-11 | |
P1976R0 | Fixed-size `span` construction from dynamic-size range | Tomasz Kamiński | 2019-11-11 | 2019-11 | Library Evolution | ||
P1978R0 | Rename _default_init functions and do nothing more | Andrzej Krzemieński, Nevin Liber, Glen Joseph Fernandes, Peter Dimov | 2019-11-19 | 2019-11 | Library Evolution | ||
P1979R0 | US086 Resolution | Mathias Stearn | 2019-11-23 | 2019-11 | Core | Adopted 2019-11 | |
P1980R0 | Wording for CA 096 | Jason Merrill | 2019-11-08 | 2019-11 | Core | Adopted 2019-11 | |
P1981R0 | Rename leap to leap_second | Howard Hinnant | 2019-11-25 | 2019-11 | Library | ||
P1982R0 | Rename link to time_zone_link | Howard Hinnant | 2019-11-25 | 2019-11 | Library | ||
P1983R0 | Wording for GB301, US296, US292, US291, and US283 | Tim Song | 2019-11-15 | 2019-11 | Library | ||
P1989R0 | Range constructor for std::string_view 2: Constrain Harder | Corentin Jabot | 2019-11-25 | 2019-11 | Library | ||
P1991R0 | WG21 2019-11 Belfast Record of Discussion | Nina Ranns | 2019-11-19 | 2019-11 | WG21 | ||
P1993R0 | Restore factories to bulk_execute | Jared Hoberock | 2019-11-21 | 2019-11 | SG1, Library Evolution | ||
P1994R0 | elements_view needs its own sentinel | Tim Song, Christopher Di Bella | 2019-11-25 | 2019-11 | Library | ||
P1995R0 | Contracts - Use Cases | Joshua Berne, Andrzej Krzemienski, Ryan McDougall, Timur Doumler, Herb Sutter | 2019-11-25 | 2019-11 | SG21 | ||
P1996R0 | Propagated template parameters | Dmitry Sokolov | 2019-11-24 | 2019-11 | EWGI | ||
P1997R0 | Relaxing Restrictions on Arrays | Krystian Stasiowski, Theodoric Stier | 2019-11-25 | 2019-11 | Evolution | ||
P1998R0 | Simple Facility for Lossless Integer Conversion | Ryan McDougall | 2019-11-25 | 2019-11 | SG6, LEWGI | ||
P1999R0 | Process proposal: double-check evolutionary material via a Tentatively Ready status | Ville Voutilainen | 2019-11-25 | 2019-11 | Evolution, Library Evolution |
By Adrien Hamelin | Nov 18, 2019 12:48 PM | Tags: experimental community
Another report!
Trip Report: C++ Standards Meeting in Belfast, November 2019
by Botond Ballo
From the article:
Last week I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Belfast, Northern Ireland. This was the third and last committee meeting in 2019; you can find my reports on preceding meetings here (July 2019, Cologne) and here (February 2019, Kona), and previous ones linked from those. These reports, particularly the Cologne one, provide useful context for this post...
By Adrien Hamelin | Nov 13, 2019 11:36 AM | Tags: experimental community
Another one!
Trip Report: Freestanding Errors in Belfast
by Ben Craig
From the article:
The C++ standards committee met in Belfast, Northern Ireland (UK) between Nov 4 and Nov 8. This was my fifth committee meeting, third evening session, and my first paper accepted into the standard. Through clever manipulation of the process, I was also able to fix 1.5% of all the national body comments SINGLE HANDEDLY (with the help of a coauthor, several reviewers, the entirety of LEWG and LWG, and a few national bodies)...