Standardization

2020-11 mailing available

The 2020-11 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4869 WG21 Pre-Autumn 2020 telecon minutes Nina Ranns 2020-11-05 2020-11   All of WG21
N4870 WG21 2020-02 Prague Minutes of Meeting Nina Ranns 2020-11-09 2020-11   All of WG21
N4871 WG21 Pre-Autumn 2020 telecon minutes Nina Ranns 2020-11-09 2020-11   All of WG21
N4873 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2020-11-09 2020-11   All of WG21
N4874 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2020-11-09 2020-11   All of WG21
N4875 WG21 admin telecon meeting: Winter 2021 Herb Sutter 2020-11-14 2020-11   All of WG21
N4876 WG21 virtual meeting: Winter 2021 Herb Sutter 2020-11-14 2020-11   All of WG21
N4877 WG21 2020-11 Virtual Meeting Minutes of Meeting Nina Ranns 2020-11-19 2020-11   All of WG21
P0401R4 Providing size feedback in the Allocator interface Chris Kennelly 2020-11-14 2020-11 P0401R3 LWG Library
P0447R11 Introduction of std::colony to the standard library Matt Bentley 2020-11-06 2020-11 P0447R10 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0849R5 auto(x): decay-copy in the language Zhihao Yuan 2020-11-11 2020-11 P0849R4 EWG Evolution
P0901R7 Size feedback in operator new Chris Kennelly 2020-11-13 2020-11 P0901R6 CWG Core
P0943R6 Support C atomics in C++ Hans Boehm 2020-11-14 2020-11 P0943R5 All of WG21
P1012R1 Ternary Right Fold Expression Frank Zingsheim 2020-11-22 2020-11 P1012R0 EWG Evolution
P1018R7 C++ Language Evolution status �� pandemic edition �� 2020/03–2020/10 JF Bastien 2020-10-30 2020-11 P1018R6 EWG Evolution,All of WG21
P1102R1 Down with ()! Alex Christensen 2020-11-20 2020-11 P1102R0 CWG Core
P1206R3 ranges::to: A function to convert any range to a container Corentin Jabot 2020-11-22 2020-11 P1206R2 LEWG Library Evolution
P1478R5 Byte-wise atomic memcpy Hans Boehm 2020-11-14 2020-11 P1478R4 LEWG Library Evolution
P1787R6 Declarations and where to find them S. Davis Herring 2020-10-28 2020-11 P1787R5 CWG Core
P1885R4 Naming Text Encodings to Demystify Them Corentin Jabot 2020-11-22 2020-11 P1885R3 SG16 Unicode,LEWG Library Evolution
P1950R1 An indirect value-type for C++ Jonathan Coe 2020-11-22 2020-11 P1950R0 LEWG Library Evolution
P2012R0 Fix the range-based for loop, Rev0ix the range-based for loop Nicolai Josuttis 2020-11-15 2020-11   EWG Evolution,CWG Core
P2160R1 Locks lock lockables (wording for LWG 2363) Tim Song 2020-11-14 2020-11 P2160R0 LWG Library
P2164R3 views::enumerate Corentin Jabot 2020-11-22 2020-11 P2164R2 LEWG Library Evolution
P2181R1 Correcting the Design of Bulk Execution Jared Hoberock 2020-11-13 2020-11 P2181R0 SG1 Concurrency and Parallelism
P2182R1 Contract Support: Defining the Minimum Viable Feature Set Andrzej Krzemieński 2020-11-16 2020-11 P2182R0 SG21 Contracts
P2211R0 Exhaustiveness Checking for Pattern Matching David Sankel 2020-11-16 2020-11   EWG Evolution
P2212R2 Relax Requirements for time_point::clock Alexey Dmitriev 2020-11-12 2020-11 P2212R1 LEWG Library Evolution,LWG Library
P2233R1 2020 Fall Library Evolution Polls Bryce Adelstein Lelbach 2020-10-22 2020-11 P2233R0 LEWG Library Evolution
P2233R2 2020 Fall Library Evolution Polls Bryce Adelstein Lelbach 2020-10-22 2020-11 P2233R1 LEWG Library Evolution
P2242R0 Non-literal variables (and labels and gotos) in constexpr functions Ville Voutilainen 2020-10-21 2020-11   EWG Evolution,CWG Core
P2246R0 Character encoding of diagnostic text Aaron Ballman 2020-10-26 2020-11   SG16 Unicode,EWG Evolution
P2247R0 2020 Library Evolution Report Bryce Adelstein Lelbach 2020-11-03 2020-11   LEWG Library Evolution
P2248R0 Enabling list-initialization for algorithms Giuseppe D'Angelo 2020-11-01 2020-11   LEWGI SG18: LEWG Incubator
P2250R0 Scheduler vs Executor Ruslan Arutyunyan 2020-11-04 2020-11   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2251R0 Require span & basic_string_view to be Trivially Copyable Nevin Liber 2020-11-08 2020-11   LEWGI SG18: LEWG Incubator
P2253R0 SG16: Unicode meeting summaries 2020-09-09 through 2020-11-11 Tom Honermann 2020-11-15 2020-11   SG16 Unicode
P2254R0 Executors Beyond Invocables Jared Hoberock 2020-11-15 2020-11   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2255R0 A type trait to detect reference binding to temporary Tim Song 2020-11-14 2020-11   EWG Evolution,LEWG Library Evolution
P2257R0 Blocking is an insufficient description for senders and receivers Dalton M. Woodard 2020-11-22 2020-11   LEWG Library Evolution
P2259R0 Repairing input range adaptors and counted_iterator Tim Song 2020-11-19 2020-11   LWG Library
P2260R0 WG21 2020-11 Virtual Meeting Record of Discussion Nina Ranns 2020-11-19 2020-11   All of WG21

2020-10 mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4863 Agenda for Fall Virtual WG21/PL22.16 Meeting John Spicer 2020-10-02 2020-10   All of WG21
N4864 WG21 virtual meeting: Autumn 2020 Herb Sutter 2020-09-21 2020-10   All of WG21
N4865 Response to Editorial Comments: ISO/IEC DIS 14882, Programming Language C++ Barry Hedquist 2020-10-19 2020-10   All of WG21
N4866 WG21 admin telecon meeting: Pre-Autumn 2020 Herb Sutter 2020-10-14 2020-10   All of WG21
N4867 Editors' Report -- Programming Languages -- C++ Richard Smith 2020-10-18 2020-10   All of WG21
N4868 Working Draft, Standard for Programming Language C++ Richard Smith 2020-10-18 2020-10   All of WG21
P0847R5 Deducing this Barry Revzin 2020-10-16 2020-10 P0847R4 EWG Evolution
P0849R4 auto(x): decay-copy in the language Zhihao Yuan 2020-10-11 2020-10 P0849R3 EWG Evolution,LWG Library
P0870R4 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2020-09-23 2020-10 P0870R3 SG6 Numerics
P1048R1 A proposal for a type trait to detect scoped enumerations Juan Alday 2020-10-16 2020-10 P1048R0 LWG Library
P1206R2 ranges::to: A function to convert any range to a container Corentin Jabot 2020-10-12 2020-10 P1206R1 LEWG Library Evolution
P1401R4 Narrowing contextual conversions to bool Andrzej Krzemieński 2020-10-08 2020-10 P1401R3 EWG Evolution
P1525R1 One-Way execute is a Poor Basis Operation Eric Niebler 2020-10-14 2020-10 P1525R0 LEWG Library Evolution
P1759R3 Native handles and file streams Elias Kosunen 2020-10-12 2020-10 P1759R2 LEWG Library Evolution
P1938R2 if consteval Barry Revzin 2020-10-13 2020-10 P1938R1 EWG Evolution
P2029R4 Proposed resolution for core issues 411, 1656, and 2333; escapes in character and string literals Tom Honermann 2020-10-19 2020-10 P2029R3 CWG Core
P2066R4 Suggested draft TS for C++ Extensions for Minimal Transactional Memory Jens Maurer 2020-10-14 2020-10 P2066R3 SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P2093R2 Formatted output Victor Zverovich 2020-10-15 2020-10 P2093R1 LEWG Library Evolution
P2148R0 Library Evolution Design Guidelines CJ Johnson 2020-09-23 2020-10   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2171R1 Rebasing the Networking TS on C++20 (revision 1) Jonathan Wakely 2020-10-15 2020-10 P2171R0 LWG Library
P2171R2 Rebasing the Networking TS on C++20 (revision 2) Jonathan Wakely 2020-10-18 2020-10 P2171R1 LWG Library
P2187R5 std::swap_if, std::predictable Nathan Myers 2020-10-19 2020-10 P2187R4 LEWG Library Evolution
P2192R3 std::valstat - Returns Handling Dusan B. Jovanovic 2020-10-13 2020-10 P2192R2 LEWGI SG18: LEWG Incubator
P2198R1 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2020-10-04 2020-10 P2198R0 SG10 Feature Test
P2214R0 A Plan for C++23 Ranges Barry Revzin 2020-10-14 2020-10   LEWG Library Evolution
P2223R1 Trimming whitespaces before line splicing Corentin Jabot 2020-10-17 2020-10 P2223R0 EWG Evolution,CWG Core
P2226R0 A function template to move from an object and reset it to its default constructed state Giuseppe D'Angelo 2020-10-18 2020-10   SG1 Concurrency and Parallelism,LEWGI SG18: LEWG Incubator,SG20 Education
P2227R0 Update normative reference to POSIX Jonathan Wakely 2020-10-02 2020-10   LWG Library
P2228R0 Slide Deck for P1949 EWG Presentation 20200924 Steve Downey 2020-10-15 2020-10   EWG Evolution
P2231R0 Add further constexpr support for optional/variant Barry Revzin 2020-10-13 2020-10   LEWG Library Evolution
P2233R0 2020 Fall Library Evolution Polls Bryce Adelstein Lelbach 2020-10-15 2020-10   LEWG Library Evolution
P2234R0 Consider a UB and IF-NDR Audit Scott Schurr 2020-10-14 2020-10   SG12 Undefined and Unspecified Behavior,EWGI SG17: EWG Incubator
P2235R0 Disentangling schedulers and executors Ville Voutilainen 2020-10-15 2020-10   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2236R0 C++ Standard Library Issues to be moved in Virtual Plenary, Nov. 2020 Jonathan Wakely 2020-10-15 2020-10   All of WG21
P2237R0 Metaprogramming Andrew Sutton 2020-10-15 2020-10   SG7 Reflection

2020-09 mailing available

The 2020-09 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0288R5 any_invocable Ryan McDougall, Matt Calabrese 2020-09-03 2020-09 P0288R4 LWG Library
P0443R14 A Unified Executors Proposal for C++ Jared Hoberock 2020-09-22 2020-09 P0443R13 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0881R7 A Proposal to add stacktrace library Antony Polukhin 2020-09-16 2020-09 P0881R6 LWG Library
P0958R2 Networking TS changes to support proposed Executors TS Christopher Kohlhoff 2020-09-22 2020-09 P0958R1 SG4 Networking
P1322R2 Networking TS enhancement to enable custom I/O executors Christopher Kohlhoff 2020-09-22 2020-09 P1322R1 SG1 Concurrency and Parallelism,SG4 Networking,LEWG Library Evolution
P1371R3 Pattern Matching Michael Park 2020-09-15 2020-09 P1371R2 EWG Evolution
P1701R1 Inline Namespaces: Fragility Bites Nathan Sidwell 2020-09-13 2020-09 P1701R0 EWG Evolution
P1885R3 Naming Text Encodings to Demystify Them Corentin Jabot 2020-09-14 2020-09 P1885R2 SG16 Unicode,LEWG Library Evolution
P1949R6 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey 2020-09-15 2020-09 P1949R5 EWG Evolution,CWG Core
P2013R3 Freestanding Language: Optional ::operator new Ben Craig 2020-09-13 2020-09 P2013R2 EWG Evolution
P2029R3 Proposed resolution for core issues 411, 1656, and 2333; escapes in character and string literals Tom Honermann 2020-09-11 2020-09 P2029R2 CWG Core
P2066R3 Suggested draft TS for C++ Extensions for Transaction Memory Light Jens Maurer 2020-09-15 2020-09 P2066R2 SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P2077R1 Heterogeneous erasure overloads for associative containers Konstantin Boyarinov 2020-09-15 2020-09 P2077R0 LEWG Library Evolution
P2138R3 Rules of Design<=>Specification engagement Ville Voutilainen 2020-09-15 2020-09 P2138R2 EWG Evolution,LEWG Library Evolution
P2145R1 Evolving C++ Remotely Bryce Adelstein Lelbach 2020-09-15 2020-09 P2145R0 All of WG21
P2164R2 views::enumerate Corentin Jabot 2020-09-13 2020-09 P2164R1 LEWG Library Evolution
P2166R1 A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr Yuriy Chernyshov 2020-09-07 2020-09 P2166R0 LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2169R2 A Nice Placeholder With No Name Corentin Jabot 2020-09-13 2020-09 P2169R1 EWG Evolution
P2192R2 std::valstat -Transparent Returns Handling Dusan B. Jovanovic 2020-09-14 2020-09 P2192R1 LEWGI SG18: LEWG Incubator
P2194R0 The character set of the internal representation should be Unicode Corentin Jabot 2020-08-24 2020-09   SG16 Unicode,EWG Evolution,CWG Core
P2195R0 Electronic Straw Polls Bryce Adelstein Lelbach 2020-09-15 2020-09   All of WG21
P2206R0 Executors Thread Pool review report Ruslan Arutyunyan 2020-09-02 2020-09   LEWG Library Evolution
P2212R1 Relax Requirements for time_point::clock Alexey Dmitriev 2020-09-14 2020-09 P2212R0 LEWGI SG18: LEWG Incubator
P2215R1 "Undefined behavior" and the concurrency memory model Hans Boehm 2020-09-14 2020-09 P2215R0 SG1 Concurrency and Parallelism,SG12 Undefined and Unspecified Behavior
P2216R0 std::format improvements Victor Zverovich 2020-09-06 2020-09   LEWG Library Evolution
P2217R0 SG16: Unicode meeting summaries 2020-06-10 through 2020-08-26 Tom Honermann 2020-08-29 2020-09   SG16 Unicode
P2218R0 More flexible optional::value_or() Marc Mutz 2020-09-15 2020-09   LEWGI SG18: LEWG Incubator
P2219R0 P0443 Executors Issues Needing Resolution Jared Hoberock 2020-09-10 2020-09   SG1 Concurrency and Parallelism
P2220R0 redefine properties in P0443 Kirk Shoop 2020-09-14 2020-09   LEWG Library Evolution
P2221R0 define P0443 cpos with tag_invoke Kirk Shoop 2020-09-14 2020-09   LEWG Library Evolution
P2223R0 Trimming whitespaces before line splicing Corentin Jabot 2020-09-13 2020-09   EWG Evolution,CWG Core
P2224R0 A Better bulk_schedule Michael Garland 2020-09-14 2020-09   SG1 Concurrency and Parallelism

C++20 Approved -- Herb Sutter

C++20 passed unanimously, on track to publish later this year.

C++20 Approved

by Herb Sutter

About the article

On Friday September 4, C++20’s DIS (Draft International Standard) ballot ended, and it passed unanimously. This means that C++20 has now received final technical approval and is done with ISO balloting, and we expect it to be formally published toward the end of 2020 after we finish a final round of ISO editorial work.

As always, we are not counting on ISO’s publication speed to call it C++20, it’s C++20 because WG21 completed technical work in February. If for some reason ISO needs until January to get it out the door and assigns it a 2021 publication date, the standard will still be referred to as C++20. That is already its industry name, and 300,000+ search hits can’t be (retroactively made) wrong!

2020-08 mailing available

The 2020-08 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4862 Business Plan and Convener's Report Herb Sutter 2020-07-29 2020-08   All of WG21
P0228R6 any_invocable Matt Calabrese, Ryan McDougall 2020-08-09 2020-08 P0228R3 LWG Library
P0881R6 A Proposal to add stacktrace library Antony Polukhin 2020-08-05 2020-08 P0881R5 LWG Library
P1787R5 Declarations and where to find them S. Davis Herring 2020-08-15 2020-08 P1787R4 CWG Core
P1875R1 Transactional Memory Lite Support in C++ Michael Spear 2020-07-30 2020-08 P1875R0 EWG Evolution
P1949R5 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey 2020-08-15 2020-08 P1949R4 SG16 Unicode,EWG Evolution,CWG Core
P2013R2 Freestanding Language: Optional ::operator new Ben Craig 2020-08-14 2020-08 P2013R1 SG14 Low Latency,EWG Evolution,LEWG Library Evolution
P2053R1 Defensive Checks Versus Input Validation Rostislav Khlebnikov 2020-08-14 2020-08 P2053R0 SG21 Contracts,EWG Evolution,LEWG Library Evolution
P2079R1 Parallel Executor Ruslan Arutyunyan 2020-08-15 2020-08 P2079R0 SG1 Concurrency and Parallelism
P2096R2 Generalized wording for partial specializations James Touton 2020-08-17 2020-08 P2096R1 CWG Core
P2162R1 Inheriting from std::variant (resolving LWG3052) Barry Revzin 2020-08-13 2020-08 P2162R0 LEWG Library Evolution
P2187R4 std::swap_if, std::predictable Nathan Myers 2020-08-14 2020-08 P2187R3 LEWG Library Evolution
P2192R1 std::valstat - function return type Dusan B. Jovanovic 2020-08-10 2020-08 P2192R0 LEWGI SG18: LEWG Incubator
P2197R0 Formatting for std::complex Michael Tesch 2020-08-22 2020-08   LEWG Library Evolution
P2205R0 Executors Review - Polymorphic Executor Inbal Levi 2020-08-22 2020-08   LEWG Library Evolution
P2207R0 Executors review: concepts breakout group report Guy Davidson 2020-08-22 2020-08   LEWG Library Evolution
P2209R0 Bulk Schedule Lee Howes 2020-08-14 2020-08   SG1 Concurrency and Parallelism
P2210R0 Superior String Splitting Barry Revzin 2020-08-13 2020-08   LEWG Library Evolution
P2212R0 Relax Requirements for time_point::clock Alexey Dmitriev 2020-08-14 2020-08   LEWGI SG18: LEWG Incubator
P2213R0 Executors Naming Amir Kirsh 2020-08-16 2020-08   LEWG Library Evolution
P2215R0 "Undefined behavior" and the concurrency memory model Hans Boehm 2020-08-14 2020-08   SG1 Concurrency and Parallelism,SG12 Undefined and Unspecified Behavior

2020-07 mailing available

The 2020-07 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P1068R4 Vector API for random number generation Ilya Burylov 2020-07-15 2020-07 P1068R3 LEWG Library Evolution
P1184R2 A Module Mapper Nathan Sidwell 2020-07-10 2020-07 P1184R1 SG15 Tooling
P1272R3 Byteswapping for fun&&nuf Isabella Muerte 2020-07-14 2020-07 P1272R2 LWG Library
P1478R4 Byte-wise atomic memcpy Hans Boehm 2020-07-14 2020-07 P1478R3 LEWG Library Evolution
P1642R4 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2020-07-12 2020-07 P1642R3 LEWG Library Evolution
P1659R1 starts_with and ends_with Christopher Di Bella 2020-07-15 2020-07 P1659R0 LWG Library
P1679R3 String Contains function Wim Leflere 2020-07-21 2020-07 P1679R2 LWG Library
P1726R4 Pointer lifetime-end zap Paul E. McKenney 2020-07-08 2020-07 P1726R3 SG1 Concurrency and Parallelism,SG12 Undefined and Unspecified Behavior,EWG Evolution
P1864R0 Defining Target Tuplets Isabella Muerte 2020-07-11 2020-07   SG15 Tooling
P2000R2 Direction for ISO C++ Michael Wong 2020-07-15 2020-07 P2000R1 All of WG21,Direction Group
P2029R2 Proposed resolution for core issues 411, 1656, and 2333; escapes in character and string literals Tom Honermann 2020-07-14 2020-07 P2029R1 CWG Core
P2075R1 Philox as an extension of the C++ RNG engines Pavel Dyakov 2020-07-15 2020-07 P2075R0 SG6 Numerics,LEWG Library Evolution
P2093R1 Formatted output Victor Zverovich 2020-07-18 2020-07 P2093R0 SG16 Unicode,LEWG Library Evolution
P2128R2 Multidimensional subscript operator Corentin Jabot 2020-07-12 2020-07 P2128R1 EWG Evolution
P2139R2 Reviewing Deprecated Facilities of C++20 for C++23 Alisdair Meredith 2020-07-15 2020-07 P2139R1 EWG Evolution,LEWG Library Evolution
P2146R2 Modern std::byte stream IO for C++ Amanda Kornoushenko 2020-07-21 2020-07 P2146R1 LEWGI SG18: LEWG Incubator
P2156R1 Allow Duplicate Attributes Erich Keane 2020-07-02 2020-07 P2156R0 EWG Evolution,CWG Core
P2161R2 Remove Default Candidate Executor Robert Leahy 2020-07-13 2020-07 P2161R1 LEWG Library Evolution
P2165R1 Compatibility between tuple and tuple-like objects Corentin Jabot 2020-07-14 2020-07 P2165R0 LEWG Library Evolution
P2169R1 A Nice Placeholder With No Name Corentin Jabot 2020-07-12 2020-07 P2169R0 EWG Evolution
P2178R1 Misc lexing and string handling improvements Corentin Jabot 2020-07-14 2020-07 P2178R0 SG16 Unicode,EWG Evolution
P2183R0 Executors Review: Properties David Olsen 2020-07-14 2020-07   LEWG Library Evolution
P2186R0 Removing Garbage Collection Support JF Bastien 2020-07-12 2020-07   EWG Evolution,LEWG Library Evolution
P2187R3 std::swap_if, std::predictable Nathan Myers 2020-07-14 2020-07 P2187R2 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2188R1 Zap the Zap: Pointers are sometimes just bags of bits Anthony Williams 2020-07-15 2020-07 P2188R0 EWG Evolution
P2191R0 Modules: ADL & GMFs do not play together well (anymore) Nathan Sidwell 2020-07-10 2020-07   EWG Evolution
P2192R0 std::valstat - function return type Dusan B. Jovanovic 2020-07-13 2020-07   LEWGI SG18: LEWG Incubator
P2193R0 How to structure a teaching topic JC van WInkel 2020-06-26 2020-07   SG20 Education
P2193R1 How to structure a teaching topic JC van WInkel 2020-07-02 2020-07 P2193R0 SG20 Education
P2196R0 A lifetime-extending forwarder Vincent Reverdy 2020-07-15 2020-07   LEWGI SG18: LEWG Incubator
P2198R0 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2020-07-12 2020-07   SG10 Feature Test
P2199R0 Concepts to differentiate types Isabella Muerte 2020-07-11 2020-07   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2201R0 Mixed string literal concatenation Jens Maurer 2020-07-14 2020-07   SG16 Unicode
P2202R0 Senders/Receivers group Executors review report Gašper Ažman 2020-07-15 2020-07   LEWG Library Evolution
P2203R0 LEWG Executors Customization Point Report Ryan McDougall, Tomasz Kamiński 2020-07-15 2020-07   LEWG Library Evolution

"C++ Move Semantics - The Complete Guide" now Feature Complete -- Nico Josuttis

The new book by Nico Josuttis is now available as an ebook draft.

C++ Move Semantics - The Complete Guide

by Nico Josuttis

About the book:

Having 200 pages, the description of move semantics is feature complete now. Only a few chapters about the use of move semantics in the C++ standard library are missing.

The book teaches all aspects of C++ move semantics. Starting from the basic principles it motivates and explains all features and corner cases (such as perfect returning with decltype(auto)) so that a C++ programmer can understand and use move semantics right in application code, when implementing classes, in generic code, and in foundation libraries.


 

2020-06 mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P1401R3 Narrowing contextual conversions to bool Andrzej Krzemieński 2020-05-27 2020-06 P1401R2 EWG Evolution
P1450R3 Enriching type modification traits Vincent Reverdy 2020-06-15 2020-06 P1450R2 LWG Library
P1467R4 Extended floating-point types and standard names David Olsen 2020-06-14 2020-06 P1467R3 EWG Evolution,LEWG Library Evolution
P1468R4 Fixed-layout floating-point type aliases David Olsen 2020-06-14 2020-06 P1468R3 LEWG Library Evolution
P1642R3 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2020-05-24 2020-06 P1642R2 LEWG Library Evolution
P1944R1 Add Constexpr Modifiers to Functions in cstring and cwchar Headers Daniil Goncharov 2020-05-26 2020-06 P1944R0 SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P1949R4 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey 2020-06-05 2020-06 P1949R3 SG16 Unicode,EWG Evolution,CWG Core
P1990R1 Add operator[] to std::initializer_list Daniil Goncharov 2020-05-26 2020-06 P1990R0 LEWG Library Evolution,LWG Library
P2025R1 Guaranteed copy elision for return variables Anton Zhilin 2020-06-17 2020-06 P2025R0 EWG Evolution,CWG Core
P2034R2 Partially Mutable Lambda Captures Ryan McDougall 2020-06-12 2020-06 P2034R1 EWGI SG17: EWG Incubator
P2037R1 String's gratuitous assignment Andrzej Krzemieński 2020-06-15 2020-06 P2037R0 LEWG Library Evolution
P2093R0 Formatted output Victor Zverovich 2020-06-13 2020-06   SG16 Unicode,LEWG Library Evolution
P2138R2 Rules of Design<=>Wording engagement Ville Voutilainen 2020-06-15 2020-06 P2138R1 EWG Evolution,LEWG Library Evolution
P2139R1 Reviewing Deprecated Facilities of C++20 for C++23 Alisdair Meredith 2020-06-15 2020-06 P2139R0 EWG Evolution,LEWG Library Evolution
P2141R0 Aggregates are named tuples Antony Polukhin 2020-05-27 2020-06   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution,LWG Library
P2146R1 Modern std::byte stream IO for C++ Amanda Kornoushenko 2020-06-17 2020-06 P2146R0 LEWGI SG18: LEWG Incubator
P2152R0 Querying the alignment of an object Inbal Levi 2020-06-15 2020-06   EWGI SG17: EWG Incubator,EWG Evolution,CWG Core
P2161R1 Remove Default Candidate Executor Robert Leahy 2020-06-12 2020-06 P2161R0 SG4 Networking
P2164R1 views::enumerate Corentin Jabot 2020-06-14 2020-06 P2164R0 LEWG Library Evolution
P2166R0 A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr Yuriy Chernyshov 2020-05-19 2020-06   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2176R0 A different take on inexpressible conditions Andrzej Krzemieński 2020-05-27 2020-06   SG21 Contracts
P2178R0 Misc lexing and string handling improvements Corentin Jabot 2020-06-15 2020-06   SG16 Unicode,EWG Evolution
P2179R0 SG16: Unicode meeting summaries 2020-01-08 through 2020-05-27 Tom Honermann 2020-06-02 2020-06   SG16 Unicode
P2181R0 Correcting the Design of Bulk Execution Jared Hoberock 2020-06-14 2020-06   SG1 Concurrency and Parallelism
P2182R0 Contract Support: Defining the Minimum Viable Feature Set Andrzej Krzemieński 2020-06-15 2020-06   SG21 Contracts
P2184R0 Thriving in a crowded and changing world: C++ 2006-2020 Bjarne Stroustrup 2020-06-12 2020-06   All of WG21
P2185R0 Contracts Use Case Categorization Caleb Sunstrum 2020-06-14 2020-06   SG21 Contracts
P2187R0 std::swap_if, std::predictable Nathan Myers 2020-06-18 2020-06   LEWGI SG18: LEWG Incubator,Direction Group
P2188R0 Zap the Zap: Pointers should just be bags of bits Anthony Williams 2020-06-15 2020-06   EWG Evolution

2020-05 mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0493R1 Atomic maximum/minimum Al Grant 2020-05-17 2020-05 P0493R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0870R3 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2020-05-17 2020-05 P0870R2 SG6 Numerics
P1679R2 String Contains function Wim Leflere 2020-05-17 2020-05 P1679R1 LWG Library
P1841R1 Wording for Individually Specializable Numeric Traits Walter E Brown 2020-05-14 2020-05 P1841R0 LWG Library
P1861R1 Secure Networking in C++ JF Bastien 2020-05-11 2020-05 P1861R0 SG4 Networking,LEWG Library Evolution
P1897R3 Towards C++23 executors: A proposal for an initial set of algorithms Lee Howes 2020-05-16 2020-05 P1897R2 SG1 Concurrency and Parallelism
P1898R1 Forward progress delegation for executors Lee Howes 2020-05-16 2020-05 P1898R0 SG1 Concurrency and Parallelism
P1974R0 Non-transient constexpr allocation using propconst Jeff Snyder 2020-05-15 2020-05   EWG Evolution,LEWG Library Evolution,LWG Library
P1985R1 Universal template parameters Gašper Ažman 2020-05-15 2020-05 P1985R0 EWG Evolution
P2066R2 Suggested draft TS for C++ Extensions for Transaction Memory Light Jens Maurer 2020-05-12 2020-05 P2066R1 SG1 Concurrency and Parallelism,EWG Evolution
P2128R1 Multidimensional subscript operator Corentin Jabot 2020-05-15 2020-05 P2128R0 EWG Evolution
P2136R1 invoke_r Zhihao Yuan 2020-05-15 2020-05 P2136R0 LEWG Library Evolution,LWG Library
P2142R1 Allow '.' operator to work on pointers Jim Buckeyne 2020-05-17 2020-05 P2142R0 EWGI SG17: EWG Incubator
P2145R0 Evolving C++ Remotely Bryce Adelstein Lelbach 2020-04-21 2020-05   All of WG21
P2159R0 An Unbounded Decimal Floating-Point Type Bill Seymour 2020-04-23 2020-05   SG6 Numerics,LEWGI SG18: LEWG Incubator
P2160R0 Locks lock lockables (wording for LWG 2363) Tim Song 2020-05-13 2020-05   LWG Library
P2161R0 Remove Default Candidate Executor Robert Leahy 2020-05-14 2020-05   SG4 Networking
P2162R0 Inheriting from std::variant (resolving LWG3052) Barry Revzin 2020-05-05 2020-05   LEWG Library Evolution
P2163R0 Native tuples in C++ Mike Spertus 2020-05-17 2020-05   EWGI SG17: EWG Incubator,EWG Evolution
P2164R0 views::enumerate Corentin Jabot 2020-05-15 2020-05   LEWG Library Evolution
P2165R0 Comparing pair and tuples Corentin Jabot 2020-05-15 2020-05   LEWG Library Evolution
P2167R0 Improved Proposed Wording for LWG 2114 Daniel Krügler 2020-05-13 2020-05   LWG Library
P2168R0 generator: A Synchronous Coroutine Generator Compatible With Ranges Corentin Jabot 2020-05-16 2020-05   LEWG Library Evolution
P2169R0 A Nice Placeholder With No Name Corentin Jabot 2020-05-16 2020-05   EWG Evolution
P2170R0 Feedback on implementing the proposed std::error type Charles Salvia 2020-05-15 2020-05   All of WG21
P2171R0 Rebasing the Networking TS on C++20 Jonathan Wakely 2020-05-15 2020-05   LWG Library
P2172R0 What do we want from a modularized Standard Library? Corentin Jabot 2020-05-16 2020-05   EWG Evolution
P2173R0 Attributes on Lambda-Expressions Daveed Vandevoorde 2020-05-15 2020-05   EWG Evolution
P2174R0 Compound Literals Zhihao Yuan 2020-05-15 2020-05   EWGI SG17: EWG Incubator

2020-04 mailing available

cpp_logo.pngThe 2020-04 mailing of new standards papers is now available.

Note: Partly due to Covid-19, we are experimenting with having monthly mailings. This is the first of those.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
2020-04
N4858 Disposition of Comments: SC22 5415, ISO/IEC CD 14882 Barry Hedquist 2020-02-15 2020-04   WG21  
N4859 Editors' Report - Programming Languages - C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2020-04-03 2020-04   WG21  
N4860 Draft International Standard - Programming Languages - C++ Richard Smith 2020-04-08 2020-04   WG21  
N4861 Working Draft, Standard for Programming Language C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2020-04-08 2020-04 N4849 WG21  
P0533R6 constexpr for <cmath> and <cstdlib> Oliver Rosten, Edward Rosten 2020-04-14 2020-04 P0533R5 Library  
P0870R2 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2020-04-06 2020-04 P0870R1 SG6, LEWGI  
P1255R6 A view of 0 or 1 elements: views::maybe Steve Downey 2020-04-05 2020-04 P1255R5 Library Evolution  
P1315R5 secure_clear Miguel Ojeda 2020-04-15 2020-04 P1315R4 Library Evolution  
P1641R3 Freestanding Library: Rewording the Status Quo Ben Craig 2020-04-11 2020-04 P1641R2 SG14, Library Evolution  
P1654R1 ABI breakage - summary of initial comments Roger Orr 2020-04-10 2020-04 P1654R0 WG21  
P1949R3 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey, Zach Laine, Tom Honermann, Peter Bindels, Jens Maurer 2020-04-15 2020-04 P1949R2 SG16, Evolution, Core  
P2011R1 A pipeline-rewrite operator Barry Revzin, Colby Pike 2020-04-16 2020-04 P2011R0 EWGI  
P2013R1 Freestanding Language: Optional ::operator new Ben Craig 2020-04-14 2020-04 P2013R0 SG14, Evolution, Library Evolution  
P2034R1 Partially Mutable Lambda Captures Ryan McDougall, Patrick McMichael 2020-04-16 2020-04 P2034R0 EWGI  
P2044R2 Member Templates for Local Classes Robert Leahy 2020-04-14 2020-04 P2044R1 Evolution  
P2096R1 Generalized wording for partial specializations James Touton 2020-04-15 2020-04 P2096R0 Core  
P2098R1 Proposing std::is_specialization_of Walter E Brown, Bob Steagall 2020-04-11 2020-04 P2098R0 Library Evolution, Library  
P2138R1 Rules of Design<=>Wording engagement Ville Voutilainen 2020-04-14 2020-04 P2138R0 Evolution, Library Evolution  
P2146R0 Modern std::byte stream IO for C++ Amanda Kornoushenko 2020-03-19 2020-04   LEWGI  
P2149R0 Remove system_executor Robert Leahy 2020-04-14 2020-04   SG4  
P2150R0 Down with typename in the library! Alisdair Meredith 2020-04-14 2020-04   Library  
P2155R0 Policy property for describing adjacency Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen, Tom Scogland 2020-04-15 2020-04   SG1, SG14  
P2156R0 Allow Duplicate Attributes Erich Keane 2020-04-15 2020-04   EWGI, Evolution, Core