Standardization

2024-08 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4988 Working Draft, Programming Languages -- C++ Thomas Köppe 2024-08-05 2024-08   All of WG21
N4989 Editors' Report, Programming Languages -- C++ Thomas Köppe 2024-08-05 2024-08   All of WG21
P2414R4 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2024-08-12 2024-08 P2414R3 SG1 Concurrency and Parallelism
P2822R2 Providing user control of associated entities of class types Lewis Baker 2024-08-07 2024-08 P2822R1 EWG Evolution
P2897R4 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-07-24 2024-08 P2897R3 LEWG Library Evolution,LWG Library
P2897R5 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-08-11 2024-08 P2897R4 LEWG Library Evolution,LWG Library
P2900R8 Contracts for C++ Joshua Berne 2024-07-27 2024-08 P2900R7 EWG Evolution,LEWG Library Evolution
P2988R6 std::optional<T&> Steve Downey 2024-08-15 2024-08 P2988R5 LEWG Library Evolution,LWG Library
P2996R5 Reflection for C++26 Barry Revzin 2024-08-14 2024-08 P2996R4 EWG Evolution
P3050R2 Fix C++26 by optimizing linalg::conjugated for noncomplex value types Mark Hoemmen 2024-08-12 2024-08 P3050R1 LEWG Library Evolution
P3068R4 Allowing exception throwing in constant-evaluation Hana Dusíková 2024-08-15 2024-08 P3068R3 LEWG Library Evolution,CWG Core
P3126R2 Graph Library: Overview Phil Ratzloff 2024-08-05 2024-08 P3126R1 SG14 Low Latency,SG19 Machine Learning
P3130R2 Graph Library: Graph Container Interface Phil Ratzloff 2024-08-05 2024-08 P3130R1 SG14 Low Latency,SG19 Machine Learning
P3131R2 Graph Library: Graph Containers Phil Ratzloff 2024-08-05 2024-08 P3131R1 SG14 Low Latency,SG19 Machine Learning
P3284R1 `finally`, `write_env`, and `unstoppable` Sender Adaptors Eric Niebler 2024-07-16 2024-08 P3284R0 LEWG Library Evolution
P3315R0 2024-07 Library Evolution Poll Outcomes Inbal Levi 2024-08-15 2024-08   LEWG Library Evolution
P3325R3 A Utility for Creating Execution Environments Eric Niebler 2024-07-23 2024-08 P3325R2 LEWG Library Evolution
P3347R0 Invalid/Prospective Pointer Operations Paul E. McKenney 2024-08-09 2024-08   EWG Evolution
P3348R0 C++26 should refer to C23 not C17 Jonathan Wakely 2024-08-02 2024-08   SG6 Numerics,LEWG Library Evolution
P3361R0 Class invariants and contract checking philosophy Esa Pulkkinen 2024-07-18 2024-08   SG21 Contracts
P3361R1 Class invariants and contract checking philosophy Esa Pulkkinen 2024-07-23 2024-08 P3361R0 SG21 Contracts
P3362R0 Static analysis and 'safety' of Contracts, P2900 vs. P2680/P3285 Ville Voutilainen 2024-08-13 2024-08   EWG Evolution
P3364R0 Remove Deprecated u8path overloads From C++26 Alisdair Meredith 2024-08-15 2024-08   SG16 Unicode
P3365R0 Remove the Deprecated iterator Class Template from C++26 Alisdair Meredith 2024-08-15 2024-08   LEWG Library Evolution
P3366R0 Remove Deprecated Atomic Initialization API from C++26 Alisdair Meredith 2024-08-15 2024-08   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3369R0 constexpr for uninitialized_default_construct Giuseppe D'Angelo 2024-07-28 2024-08   LEWG Library Evolution
P3370R0 Add new library headers from C23 Jens Maurer 2024-08-15 2024-08   LEWG Library Evolution
P3371R0 Fix C++26 by making the symmetric and Hermitian rank-k and rank-2k updates consistent with the BLAS Mark Hoemmen 2024-08-11 2024-08   LEWG Library Evolution,LWG Library
P3372R0 constexpr containers and adapters Hana Dusíková 2024-08-15 2024-08   LEWG Library Evolution
P3373R0 Of Operation States and Their Lifetimes Robert Leahy 2024-08-14 2024-08   LEWG Library Evolution
P3374R0 Adding formatter for fpos Liang Jiaming 2024-08-14 2024-08   LEWGI SG18: LEWG Incubator

2024-07 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4984 WG21 June 2024 Admin Minutes of Meeting Nina Ranns 2024-06-17 2024-07   All of WG21
N4985 WG21 2024-06 St Louis Minutes of Meeting Nina Ranns 2024-07-11 2024-07   All of WG21
N4986 Working Draft, Programming Languages -- C++ Thomas Köppe 2024-07-16 2024-07   All of WG21
N4987 Editors' Report, Programming Languages -- C++ Thomas Köppe 2024-07-16 2024-07   All of WG21
P0260R10 C++ Concurrent Queues Detlef Vollmann 2024-06-27 2024-07 P0260R9 LEWG Library Evolution
P0472R1 Put std::monostate in <utility> David Sankel 2024-06-05 2024-07 P0472R0 LEWG Library Evolution
P0843R13 inplace_vector Gonzalo Brito Gadeschi 2024-06-17 2024-07 P0843R12 LEWG Library Evolution,LWG Library
P0843R14 inplace_vector Gonzalo Brito Gadeschi 2024-06-26 2024-07 P0843R13 LWG Library
P0876R17 fiber_context - fibers without scheduler Oliver Kowalke 2024-07-03 2024-07 P0876R16 EWG Evolution,CWG Core,LWG Library
P0963R3 Structured binding declaration as a condition Zhihao Yuan 2024-06-28 2024-07 P0963R2 CWG Core
P1928R10 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-06-28 2024-07 P1928R9 LWG Library
P1928R11 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-07-16 2024-07 P1928R10 LWG Library
P2075R6 Philox as an extension of the C++ RNG engines Ilya Burylov 2024-06-28 2024-07 P2075R5 LWG Library
P2300R10 `std::execution` Eric Niebler 2024-06-28 2024-07 P2300R9 LEWG Library Evolution,LWG Library
P2319R0 Prevent path presentation problems Victor Zverovich 2024-07-06 2024-07   SG16 Unicode
P2389R2 `dextents` Index Type Parameter Bryce Adelstein Lelbach 2024-06-24 2024-07 P2389R1 LEWG Library Evolution
P2422R1 Remove nodiscard annotations from the standard library specification Ville Voutilainen 2024-06-28 2024-07 P2422R0 LEWG Library Evolution,LWG Library
P2642R6 Padded mdspan layouts Christian Trott 2024-06-18 2024-07 P2642R5 LEWG Library Evolution,LWG Library
P2656R3 C++ Ecosystem International Standard René Ferdinand Rivera Morell 2024-07-11 2024-07 P2656R2 EWG Evolution,LEWG Library Evolution
P2664R7 Proposal to extend std::simd with permutation API Daniel Towner 2024-06-25 2024-07 P2664R6 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2686R4 constexpr structured bindings and references to constexpr variables Corentin Jabot 2024-07-05 2024-07 P2686R3 EWG Evolution,LEWG Library Evolution,CWG Core
P2761R2 Slides: Evaluating structured binding as a condition (P0963R2 presentation) Zhihao Yuan 2024-06-13 2024-07 P2761R1 EWG Evolution
P2761R3 Slides: Structured binding declaration as a condition (P0963R2 presentation) Zhihao Yuan 2024-06-26 2024-07 P2761R2 EWG Evolution
P2769R2 get_element customization point object Ruslan Arutyunyan 2024-06-25 2024-07 P2769R1 SG9 Ranges,LEWG Library Evolution
P2848R1 std::is_uniqued Arthur O'Dwyer 2024-07-14 2024-07 P2848R0 LEWG Library Evolution
P2863R6 Review Annex D for C++26 Alisdair Meredith 2024-06-23 2024-07 P2863R5 EWG Evolution,LEWG Library Evolution
P2863R7 Review Annex D for C++26 Alisdair Meredith 2024-07-09 2024-07 P2863R6 SG22 Compatibility,EWG Evolution,LEWG Library Evolution
P2865R5 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2024-07-09 2024-07 P2865R4 SG22 Compatibility
P2866R3 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2024-06-28 2024-07 P2866R2 CWG Core,LWG Library
P2866R4 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2024-07-15 2024-07 P2866R3 SG22 Compatibility,CWG Core,LWG Library
P2873R2 Remove Deprecated locale category facets for Unicode from C++26 Alisdair Meredith 2024-07-06 2024-07 P2873R1 LEWG Library Evolution
P2897R2 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-07-12 2024-07 P2897R1 LEWG Library Evolution
P2897R3 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-07-15 2024-07 P2897R2 LEWG Library Evolution,LWG Library
P2963R3 Ordering of constraints involving fold expressions Corentin Jabot 2024-06-28 2024-07 P2963R2 CWG Core
P2989R2 A Simple Approach to Universal Template Parameters Corentin Jabot 2024-06-16 2024-07 P2989R1 EWG Evolution
P2996R4 Reflection for C++26 Barry Revzin 2024-06-26 2024-07 P2996R3 EWG Evolution
P3006R1 Launder less Antony Polukhin 2024-07-11 2024-07 P3006R0 SG12 Undefined and Unspecified Behavior,EWG Evolution,CWG Core
P3037R2 constexpr std::shared_ptr Paul Keir 2024-05-24 2024-07 P3037R1 LEWG Library Evolution
P3044R1 sub-string_view from string Michael Florian Hava 2024-07-15 2024-07 P3044R0 LEWG Library Evolution
P3051R2 Structured Response Files René Ferdinand Rivera Morell 2024-07-11 2024-07 P3051R1 EWG Evolution,LEWG Library Evolution
P3064R2 How to Avoid OOTA Without Really Trying Paul E. McKenney 2024-07-12 2024-07 P3064R1 SG1 Concurrency and Parallelism
P3068R3 Allowing exception throwing in constant-evaluation Hana Dusíková 2024-06-27 2024-07 P3068R2 EWG Evolution,LEWG Library Evolution
P3085R3 `noexcept` policy for SD-9 (throws nothing) Ben Craig 2024-07-04 2024-07 P3085R2 LEWG Library Evolution
P3087R1 Make direct-initialization for enumeration types at least as permissive as direct-list-initializatio Jan Schultke 2024-05-29 2024-07 P3087R0 EWG Evolution
P3094R3 std::basic_fixed_string Mateusz Pusz 2024-06-30 2024-07 P3094R2 SG16 Unicode,LEWG Library Evolution
P3096R2 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-07-16 2024-07 P3096R1 EWG Evolution,LEWG Library Evolution
P3124R0 2024-02 Library Evolution Poll Outcomes   2024-06-14 2024-07   LEWG Library Evolution
P3137R2 views::to_input Tim Song 2024-07-16 2024-07 P3137R1 LEWG Library Evolution
P3138R2 views::cache_last Tim Song 2024-07-16 2024-07 P3138R1 LEWG Library Evolution
P3144R1 Deprecate Delete of Incomplete Class Type Alisdair Meredith 2024-05-23 2024-07 P3144R0 CWG Core
P3144R2 Deleting a Pointer to an Incomplete Type Should be Ill-formed Alisdair Meredith 2024-06-25 2024-07 P3144R1 CWG Core
P3149R4 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-06-23 2024-07 P3149R3 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3149R5 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-06-25 2024-07 P3149R4 LEWG Library Evolution
P3161R2 Unified integer overflow arithmetic Tiago Freire 2024-07-15 2024-07 P3161R1 SG6 Numerics
P3164R1 Improving diagnostics for sender expressions Eric Niebler 2024-06-15 2024-07 P3164R0 LEWG Library Evolution
P3164R2 Improving diagnostics for sender expressions Eric Niebler 2024-06-24 2024-07 P3164R1 LEWG Library Evolution
P3168R2 Give std::optional Range Support David Sankel 2024-06-25 2024-07 P3168R1 LEWG Library Evolution
P3175R3 Reconsidering the `std::execution::on` algorithm Eric Niebler 2024-06-24 2024-07 P3175R2 LEWG Library Evolution
P3178R0 Retrieval of Exception Information TPK Healy 2024-05-23 2024-07   LEWGI SG18: LEWG Incubator
P3178R1 Retrieval of Exception Information TPK Healy 2024-05-30 2024-07 P3178R0 LEWGI SG18: LEWG Incubator
P3179R2 C++ parallel range algorithms Ruslan Arutyunyan 2024-06-25 2024-07 P3179R1 SG1 Concurrency and Parallelism,SG9 Ranges
P3182R1 Add container pop methods that return the popped value Brian Bi 2024-07-16 2024-07 P3182R0 LEWG Library Evolution
P3212R0 The contract of sort() Andrzej Krzemieński 2024-07-03 2024-07   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P3223R1 Making std::istream::ignore less surprising Jonathan Wakely 2024-07-03 2024-07 P3223R0 LEWG Library Evolution
P3235R1 std::print more types faster with less memory Victor Zverovich 2024-06-15 2024-07 P3235R0 LEWG Library Evolution
P3235R2 std::print more types faster with less memory Victor Zverovich 2024-06-25 2024-07 P3235R1 LWG Library
P3235R3 std::print more types faster with less memory Victor Zverovich 2024-06-26 2024-07 P3235R2 LWG Library
P3245R1 Allow `[[nodiscard]]` in type alias declarations Xavier Bonaventura 2024-07-15 2024-07 P3245R0 EWGI SG17: EWG Incubator
P3248R1 Require [u]intptr_t Gonzalo Brito Gadeschi 2024-06-16 2024-07 P3248R0 SG1 Concurrency and Parallelism,SG22 Compatibility,EWG Evolution,LEWG Library Evolution
P3255R1 Expose whether atomic notifying operations are lock-free Brian Bi 2024-07-16 2024-07 P3255R0 LEWG Library Evolution
P3265R2 Ship Contracts in a TS Ville Voutilainen 2024-05-27 2024-07 P3265R1 EWG Evolution
P3265R3 Ship Contracts in a TS Ville Voutilainen 2024-05-28 2024-07 P3265R2 EWG Evolution
P3288R1 std::elide Thomas P. K. Healy 2024-05-28 2024-07 P3288R0 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3288R2 std::elide Thomas P. K. Healy 2024-05-29 2024-07 P3288R1 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3288R3 std::elide Thomas P. K. Healy 2024-06-27 2024-07 P3288R2 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3290R1 Integrating Existing Assertions With Contracts Joshua Berne 2024-07-12 2024-07 P3290R0 SG21 Contracts,EWG Evolution
P3294R1 Code Injection with Token Sequences Barry Revzin 2024-07-16 2024-07 P3294R0 SG7 Reflection,EWG Evolution
P3296R1 let_with_async_scope Anthony Williams 2024-06-24 2024-07 P3296R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3297R1 C++26 Needs Contract Checking Ryan McDougall 2024-06-21 2024-07 P3297R0 SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3303R1 Fixing Lazy Sender Algorithm Customization Eric Niebler 2024-06-24 2024-07 P3303R0 LEWG Library Evolution
P3309R1 constexpr atomic and atomic_ref Hana Dusíková 2024-07-14 2024-07 P3309R0 LEWG Library Evolution
P3310R1 Solving partial ordering issues introduced by P0522R0 Matheus Izvekov 2024-06-21 2024-07 P3310R0 EWG Evolution,CWG Core
P3310R2 Solving partial ordering issues introduced by P0522R0 Matheus Izvekov 2024-06-21 2024-07 P3310R1 EWG Evolution,CWG Core
P3314R0 2024-07 Library Evolution Polls Inbal Levi 2024-07-16 2024-07   LEWG Library Evolution
P3319R1 Add an iota object for simd (and more) Matthias Kretz 2024-06-28 2024-07 P3319R0 LEWG Library Evolution
P3321R0 Contracts Interaction With Tooling Joshua Berne 2024-07-12 2024-07   SG15 Tooling,SG21 Contracts,EWG Evolution
P3323R0 cv-qualified types in atomic and atomic_ref Gonzalo Brito Gadeschi 2024-06-16 2024-07   SG1 Concurrency and Parallelism
P3325R0 A Utility for Creating Execution Environments Eric Niebler 2024-06-13 2024-07   LEWG Library Evolution
P3325R1 A Utility for Creating Execution Environments Eric Niebler 2024-07-13 2024-07 P3325R0 LEWG Library Evolution
P3325R2 A Utility for Creating Execution Environments Eric Niebler 2024-07-16 2024-07 P3325R1 LEWG Library Evolution
P3326R0 favor ease of use Jarrad J. Waterloo 2024-06-13 2024-07   LEWG Library Evolution
P3328R0 Observable Checkpoints During Contract Evaluation Joshua Berne 2024-06-13 2024-07   SG21 Contracts
P3330R0 User-defined Atomic Read-Modify-Write Operations Gonzalo Brito 2024-06-17 2024-07   SG1 Concurrency and Parallelism
P3331R0 Accessing The First and Last Elements in Associative Containers Nikita Sakharin 2024-06-18 2024-07   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P3332R0 A simpler notation for PM Bjarne Stroustrup 2024-06-18 2024-07   EWG Evolution
P3335R0 Structured Core Options René Ferdinand Rivera Morell 2024-07-11 2024-07   SG15 Tooling
P3336R0 Usage Experience for Contracts with BDE Joshua Berne 2024-06-23 2024-07   SG21 Contracts,EWG Evolution
P3338R0 Observe and ignore semantics in constant evaluation Ville Voutilainen 2024-06-23 2024-07   EWG Evolution
P3339R0 C++ Ecosystem IS Open License René Ferdinand Rivera Morell 2024-06-23 2024-07   All of WG21
P3340R0 A Consistent Grammar for Sequences Alisdair Meredith 2024-06-24 2024-07   CWG Core
P3341R0 C++ Standard Library Ready Issues to be moved in St Louis, Jun. 2024 Jonathan Wakely 2024-06-24 2024-07   All of WG21
P3342R0 Working Draft, Standard for C++ Ecosystem René Ferdinand Rivera Morell 2024-07-11 2024-07   EWG Evolution,LEWG Library Evolution
P3343R0 Contracts - What are we doing here (EWG Presentation) Joshua Berne 2024-06-25 2024-07   EWG Evolution
P3344R0 Virtual Functions on Contracts (EWG - Presentation for P3097) Joshua Berne 2024-06-28 2024-07   EWG Evolution
P3345R0 Core Language Working Group "ready" Issues for the June, 2024 meeting Jens Maurer 2024-06-28 2024-07   CWG Core
P3351R0 views::scan Yihe Li 2024-07-08 2024-07   SG9 Ranges
P3354R0 Slides for P3233R0 Giuseppe D'Angelo 2024-07-09 2024-07   SG12 Undefined and Unspecified Behavior,EWG Evolution
P3355R0 Fix submdspan for C++26 Mark Hoemmen 2024-07-14 2024-07   LEWG Library Evolution
P3356R0 non_invalidating_vector Jarrad J Waterloo 2024-07-13 2024-07   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3357R0 NRVO with factory and after_factory TPK Healy 2024-07-15 2024-07   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3358R0 SARIF for Structured Diagnostics Sy Brand 2024-07-16 2024-07   SG15 Tooling
P3359R0 Slides for P3298R0 - Implicit conversion functions Bengt Gustafsson 2024-07-15 2024-07   EWGI SG17: EWG Incubator,EWG Evolution
P3360R0 Slides for P3312R0 - Overload Set Types Bengt Gustafsson 2024-07-15 2024-07   EWGI SG17: EWG Incubator

2024-05 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4983 WG21 agenda: 24-29 June 2024, St. Louis, MO, USA John Spicer 2024-05-19 2024-05   All of WG21
P0260R9 C++ Concurrent Queues Detlef Vollmann 2024-05-22 2024-05 P0260R8 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0843R12 inplace_vector Gonzalo Brito Gadeschi 2024-05-21 2024-05 P0843R11 LWG Library
P0963R2 Structured binding declaration as a condition Zhihao Yuan 2024-05-14 2024-05 P0963R1 EWG Evolution,CWG Core
P1000R6 C++ IS schedule Herb Sutter 2024-05-19 2024-05 P1000R5 All of WG21
P1083R8 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2024-05-22 2024-05 P1083R7 LEWG Library Evolution,LWG Library
P1112R5 Language support for class layout control Pal Balog 2024-05-21 2024-05 P1112R4 EWG Evolution
P1144R11 std::is_trivially_relocatable Arthur O'Dwyer 2024-05-15 2024-05 P1144R10 EWGI SG17: EWG Incubator
P1255R13 A view of 0 or 1 elements: views::nullable And a concept to constrain maybes Steve Downey 2024-05-22 2024-05 P1255R12 LEWG Library Evolution,LWG Library
P1306R2 Expansion statements Dan Katz 2024-05-07 2024-05 P1306R1 EWG Evolution
P1494R3 Partial program correctness S. Davis Herring 2024-05-21 2024-05 P1494R2 SG22 Compatibility,EWG Evolution,LEWG Library Evolution,CWG Core
P1928R9 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-05-22 2024-05 P1928R8 LWG Library
P2019R6 Thread attributes Corentin Jabot 2024-05-22 2024-05 P2019R5 LWG Library
P2034R4 Partially Mutable Lambda Captures Ryan McDougall 2024-04-22 2024-05 P2034R3 SG23 Safety and Security,EWG Evolution,CWG Core
P2079R4 System execution context Lee Howes 2024-05-22 2024-05 P2079R3 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2413R1 Remove unsafe conversions of unique_ptr Lénárd Szolnoki 2024-05-22 2024-05 P2413R0 LEWG Library Evolution
P2434R1 Nondeterministic pointer provenance S. Davis Herring 2024-05-21 2024-05 P2434R0 SG22 Compatibility,EWG Evolution
P2689R3 Atomic Refs Bound to Memory Orderings & Atomic Accessors Christian Trott 2024-04-29 2024-05 P2689R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2719R0 Type-aware allocation and deallocation functions Louis Dionne 2024-05-18 2024-05   EWGI SG17: EWG Incubator,EWG Evolution
P2758R3 Emitting messages at compile time Barry Revzin 2024-05-19 2024-05 P2758R2 EWG Evolution,LEWG Library Evolution
P2761R1 Slides: If structured binding (P0963R1 presentation) Zhihao Yuan 2024-05-01 2024-05 P2761R0 EWG Evolution
P2786R6 Trivial Relocatability For C++26 Mungo Gill 2024-05-21 2024-05 P2786R5 EWG Evolution,LEWG Library Evolution
P2822R1 Providing user control of associated entities of class types Lewis Baker 2024-05-08 2024-05 P2822R0 EWG Evolution
P2830R4 Standardized Constexpr Type Ordering Gašper Ažman 2024-05-21 2024-05 P2830R3 EWG Evolution
P2835R4 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-05-21 2024-05 P2835R3 LEWG Library Evolution
P2841R3 Concept and variable-template template-parameters Corentin Jabot 2024-05-22 2024-05 P2841R2 CWG Core
P2846R2 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2024-05-22 2024-05 P2846R1 LEWG Library Evolution
P2849R0 async-object - aka async-RAII objects Kirk Shoop 2024-05-21 2024-05   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2876R1 Proposal to extend std::simd with more constructors and accessors Daniel Towner 2024-05-22 2024-05 P2876R0 LEWG Library Evolution
P2900R7 Contracts for C++ Joshua Berne 2024-05-22 2024-05 P2900R6 EWG Evolution,LEWG Library Evolution
P2963R2 Ordering of constraints involving fold expressions Corentin Jabot 2024-05-22 2024-05 P2963R1 CWG Core
P2964R1 Allowing user-defined types in std::simd Daniel Towner 2024-05-22 2024-05 P2964R0 SG6 Numerics,LEWG Library Evolution
P2967R1 Relocation Is A Library Interface Alisdair Meredith 2024-05-22 2024-05 P2967R0 LEWG Library Evolution
P2971R2 Implication for C++ Walter E Brown 2024-05-21 2024-05 P2971R1 EWG Evolution,LEWG Library Evolution
P2976R1 Freestanding Library: algorithm, numeric, and random Ben Craig 2024-05-05 2024-05 P2976R0 LWG Library
P2988R5 std::optional<T&> Steve Downey 2024-05-22 2024-05 P2988R4 LEWG Library Evolution,LWG Library
P2996R3 Reflection for C++26 Barry Revzin 2024-05-22 2024-05 P2996R2 EWG Evolution
P3045R1 Quantities and units library Mateusz Pusz 2024-05-22 2024-05 P3045R0 SG6 Numerics,SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3051R1 Structured Response Files René Ferdinand Rivera Morell 2024-05-20 2024-05 P3051R0 SG15 Tooling
P3059R1 Making user-defined constructors of view iterators/sentinels private Hewill Kang 2024-05-16 2024-05 P3059R0 SG9 Ranges,LEWG Library Evolution
P3064R1 How to Avoid OOTA Without Really Trying Paul E. McKenney 2024-05-14 2024-05 P3064R0 SG1 Concurrency and Parallelism
P3067R0 Provide predefined simd permute generator functions for common operations Daniel Towner 2024-05-22 2024-05   LEWG Library Evolution
P3068R2 Allowing exception throwing in constant-evaluation Hana Dusíková 2024-05-22 2024-05 P3068R1 EWG Evolution,LEWG Library Evolution
P3085R2 `noexcept` policy for SD-9 (throws nothing) Ben Craig 2024-05-18 2024-05 P3085R1 LEWG Library Evolution
P3091R2 Better lookups for `map` and `unordered_map` Pablo Halpern 2024-05-21 2024-05 P3091R1 LEWG Library Evolution
P3094R2 std::basic_fixed_string Mateusz Pusz 2024-05-22 2024-05 P3094R1 SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3096R1 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-05-15 2024-05 P3096R0 EWG Evolution,LEWG Library Evolution
P3100R0 Undefined and erroneous behaviour are contract violations Timur Doumler 2024-05-21 2024-05   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3103R2 More bitset operations Jan Schultke 2024-05-22 2024-05 P3103R1 LEWGI SG18: LEWG Incubator
P3111R0 Atomic Reduction Operations Gonzalo Brito Gadeschi 2024-05-22 2024-05   SG1 Concurrency and Parallelism,SG6 Numerics
P3119R1 Tokyo Technical Fixes to Contracts Joshua Berne 2024-05-09 2024-05 P3119R0 SG21 Contracts
P3125R0 Pointer tagging Hana Dusíková 2024-05-22 2024-05   SG1 Concurrency and Parallelism
P3126R1 Graph Library: Overview Phil Ratzloff 2024-05-20 2024-05 P3126R0 SG14 Low Latency,SG19 Machine Learning
P3130R1 Graph Library: Graph Container Interface Phil Ratzloff 2024-05-20 2024-05 P3130R0 SG14 Low Latency,SG19 Machine Learning
P3131R1 Graph Library: Containers Phil Ratzloff 2024-05-20 2024-05 P3131R0 SG14 Low Latency,SG19 Machine Learning
P3137R1 views::to_input Tim Song 2024-05-21 2024-05 P3137R0 SG9 Ranges
P3138R1 views::cache_last Tim Song 2024-05-21 2024-05 P3138R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3139R0 Pointer cast for unique_ptr Zhihao Yuan 2024-05-20 2024-05   LEWG Library Evolution
P3149R3 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-05-21 2024-05 P3149R2 LEWG Library Evolution
P3154R1 Deprecating signed character types in iostreams Elias Kosunen 2024-05-20 2024-05 P3154R0 LEWG Library Evolution
P3157R1 Generative Extensions for Reflection Andrei Alexandrescu 2024-05-22 2024-05 P3157R0 SG7 Reflection
P3175R1 Reconsidering the `std::execution::on` algorithm Eric Niebler 2024-05-14 2024-05 P3175R0 LEWG Library Evolution
P3175R2 Reconsidering the `std::execution::on` algorithm Eric Niebler 2024-05-21 2024-05 P3175R1 LEWG Library Evolution
P3179R1 C++ parallel range algorithms Ruslan Arutyunyan 2024-05-22 2024-05 P3179R0 SG1 Concurrency and Parallelism,SG9 Ranges
P3183R1 Contract testing support Bengt Gustafsson 2024-05-22 2024-05 P3183R0 SG21 Contracts
P3210R1 A Postcondition *is* a Pattern Match Andrew Tomazos 2024-04-20 2024-05 P3210R0 SG21 Contracts,EWG Evolution
P3214R0 2024-04 Library Evolution Poll Outcomes Inbal Levi 2024-05-22 2024-05   LEWG Library Evolution
P3228R1 Contracts for C++: Revisiting contract check elision and duplication Timur Doumler 2024-05-21 2024-05 P3228R0 SG21 Contracts,EWG Evolution
P3234R1 Utility to check if a pointer is in a given range Glen Joseph Fernandes 2024-04-29 2024-05 P3234R0 EWG Evolution,LEWG Library Evolution
P3235R0 std::print more types faster with less memory Victor Zverovich 2024-05-11 2024-05   LEWG Library Evolution
P3236R1 Please reject P2786 and adopt P1144 Alan de Freitas 2024-05-21 2024-05 P3236R0 All of WG21
P3238R0 An alternate proposal for naming contract semantics Ville Voutilainen 2024-05-06 2024-05   SG21 Contracts
P3239R0 A Relocating Swap Alisdair Meredith 2024-05-22 2024-05   EWG Evolution,LEWG Library Evolution
P3247R1 Deprecate the notion of trivial types Jens Maurer 2024-05-19 2024-05 P3247R0 LEWG Library Evolution,CWG Core
P3248R0 Require [u]intptr_t Gonzalo Brito Gadeschi 2024-05-20 2024-05   SG1 Concurrency and Parallelism,SG22 Compatibility,EWG Evolution,LEWG Library Evolution
P3249R0 A unified syntax for Pattern Matching and Contracts when introducing a new name Ran Regev 2024-04-22 2024-05   SG21 Contracts,EWG Evolution
P3250R0 C++ contracts with regards to function pointers Peter Bindels 2024-05-07 2024-05   SG21 Contracts
P3251R0 C++ contracts and coroutines Peter Bindels 2024-05-07 2024-05   SG21 Contracts
P3253R0 Distinguishing between member and free coroutines Brian Bi 2024-05-22 2024-05   EWG Evolution,LEWG Library Evolution
P3254R0 Reserve identifiers preceded by @ for non-ignorable annotation tokens Brian Bi 2024-05-22 2024-05   EWG Evolution
P3255R0 Expose whether atomic notifying operations are lock-free Brian Bi 2024-05-22 2024-05   SG1 Concurrency and Parallelism
P3257R0 Make the predicate of contract_assert more regular Jens Maurer 2024-04-26 2024-05   SG21 Contracts,EWG Evolution
P3258R0 Formatting charN_t Corentin Jabot 2024-05-22 2024-05   SG16 Unicode,LEWG Library Evolution
P3259R0 const by default Jarrad J Waterloo 2024-05-09 2024-05   EWG Evolution
P3263R0 Encoded annotated char Tiago Freire 2024-05-03 2024-05   SG16 Unicode,LEWGI SG18: LEWG Incubator
P3264R0 Double-evaluation of preconditions Ville Voutilainen 2024-05-17 2024-05   EWG Evolution
P3264R1 Double-evaluation of preconditions Ville Voutilainen 2024-05-17 2024-05 P3264R0 EWG Evolution
P3265R0 Ship Contracts in a TS Ville Voutilainen 2024-05-07 2024-05   EWG Evolution
P3265R1 Ship Contracts in a TS Ville Voutilainen 2024-05-22 2024-05 P3265R0 EWG Evolution
P3266R0 non referenceable types Jarrad J Waterloo 2024-05-05 2024-05   EWG Evolution
P3267R0 C++ contracts implementation strategies Peter Bindels 2024-05-16 2024-05   SG15 Tooling,SG21 Contracts
P3267R1 Approaches to C++ Contracts Peter Bindels 2024-05-22 2024-05 P3267R0 SG15 Tooling,SG21 Contracts
P3268R0 C++ Contracts Constification Challenges Concerning Current Code Peter Bindels 2024-05-07 2024-05   SG21 Contracts,EWG Evolution
P3269R0 Do Not Ship Contracts as a TS Timur Doumler 2024-05-21 2024-05   SG21 Contracts,EWG Evolution
P3270R0 Repetition, Elision, and Constification w.r.t. contract_assert John Lakos 2024-05-22 2024-05   SG21 Contracts
P3271R0 Function Usage Types (Contracts for Function Pointers) Lisa Lippincott 2024-05-20 2024-05   SG21 Contracts
P3273R0 Introspection of Closure Types Andrei Alexandrescu 2024-05-22 2024-05   SG7 Reflection
P3274R0 A framework for Profiles development Bjarne Stroustrup 2024-05-09 2024-05   SG23 Safety and Security,EWG Evolution,LEWG Library Evolution
P3275R0 Replace simd operator[] with getter and setter functions - or not Matthias Kretz 2024-05-22 2024-05   LEWG Library Evolution
P3276R0 P2900 Is Superior to a Contracts TS Joshua Berne 2024-05-17 2024-05   SG21 Contracts,EWG Evolution
P3278R0 Analysis of interaction between relocation, assignment, and swap Nina Ranns 2024-05-22 2024-05   EWG Evolution,LEWG Library Evolution
P3279R0 CWG2463: What 'trivially fooable' should mean Arthur O'Dwyer 2024-05-15 2024-05   EWGI SG17: EWG Incubator
P3281R0 Contact checks should be regular C++ John Spicer 2024-05-15 2024-05   SG21 Contracts,EWG Evolution
P3282R0 Static Storage for C++ Concurrent bounded_queue Detlef Vollmann 2024-05-19 2024-05   SG1 Concurrency and Parallelism,SG14 Low Latency,LEWG Library Evolution
P3283R0 Adding .first() and .last() to strings Rhidian De Wit 2024-05-16 2024-05   LEWGI SG18: LEWG Incubator
P3284R0 `finally`, `write_env`, and `unstoppable` Sender Adaptors Eric Niebler 2024-05-15 2024-05   LEWG Library Evolution
P3285R0 Contracts: Protecting The Protector Gabriel Dos Reis 2024-05-15 2024-05   SG23 Safety and Security,EWG Evolution
P3286R0 Module Metadata Format for Distribution with Pre-Built Libraries Daniel Ruoso 2024-05-22 2024-05   SG15 Tooling
P3287R0 Exploration of namespaces for std::simd Matthias Kretz 2024-05-22 2024-05   LEWG Library Evolution
P3288R0 std::elide Thomas P. K. Healy 2024-05-22 2024-05   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3289R0 Consteval blocks Daveed Vandevoorde 2024-05-21 2024-05   EWG Evolution
P3290R0 Integrating Existing Assertions With Contracts Joshua Berne 2024-05-22 2024-05   SG21 Contracts
P3292R0 Provenance and Concurrency David Goldblatt 2024-05-17 2024-05   SG1 Concurrency and Parallelism
P3293R0 Splicing a base class subobject Barry Revzin 2024-05-19 2024-05   EWG Evolution
P3294R0 Code Injection with Token Sequences Barry Revzin 2024-05-22 2024-05   SG7 Reflection,EWG Evolution
P3295R0 Freestanding constexpr containers and constexpr exception types Ben Craig 2024-05-21 2024-05   SG7 Reflection,LEWG Library Evolution
P3296R0 let_with_async_scope Anthony Williams 2024-05-22 2024-05   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3297R0 C++26 Needs Contract Checking Ryan McDougall 2024-05-20 2024-05   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3298R0 Implicit user-defined conversion functions as operator.() Bengt Gustafsson 2024-05-22 2024-05   EWGI SG17: EWG Incubator
P3299R0 Range constructors for std::simd Daniel Towner 2024-05-22 2024-05   LEWG Library Evolution
P3301R0 inplace_stoppable_base Lauri Vasama 2024-05-21 2024-05   LEWG Library Evolution
P3302R0 SG16: Unicode meeting summaries 2024-03-13 through 2024-05-08 Tom Honermann 2024-05-21 2024-05   SG16 Unicode
P3303R0 Fixing Lazy Sender Algorithm Customization Eric Niebler 2024-05-21 2024-05   LEWG Library Evolution
P3304R0 SG14: Low Latency/Games/Embedded/Financial Trading virtual Meeting Minutes 2024/04/10 Michael Wong 2024-05-21 2024-05   SG14 Low Latency
P3305R0 SG19: Machine Learning virtual Meeting Minutes to 2024/04/11-2024/05/09 Michael Wong 2024-05-21 2024-05   SG19 Machine Learning
P3306R0 Atomic Read-Modify-Write Improvements Gonzalo Brito Gadeschi 2024-05-22 2024-05   SG1 Concurrency and Parallelism,SG6 Numerics
P3307R0 Floating-Point Maximum/Minimum Function Objects Gonzalo Brito Gadeschi 2024-05-21 2024-05   SG6 Numerics
P3308R0 mdarray design questions and answers Mark Hoemmen 2024-05-21 2024-05   LEWG Library Evolution
P3309R0 constexpr atomic and atomic_ref Hana Dusíková 2024-05-22 2024-05   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3310R0 Solving partial ordering issues introduced by P0522R0 Matheus Izvekov 2024-05-22 2024-05   EWG Evolution,CWG Core
P3311R0 An opt-in approach for integration of traditional assert facilities in C++ contracts Tom Honermann 2024-05-22 2024-05   SG21 Contracts
P3312R0 Overload Set Types Bengt Gustafsson 2024-05-22 2024-05   EWGI SG17: EWG Incubator
P3313R0 Impacts of noexept on ARM table based exception metadata Khalil Estell 2024-05-22 2024-05   EWG Evolution,LEWG Library Evolution
P3316R0 A more predictable unchecked semantic Jonas Persson 2024-05-22 2024-05   SG21 Contracts
P3317R0 Compile time resolved contracts Jonas Persson 2024-05-22 2024-05   SG21 Contracts
P3318R0 Throwing violation handlers, from an application programming perspective Ville Voutilainen 2024-05-22 2024-05   LEWG Library Evolution
P3319R0 Add an iota object for simd (and more) Matthias Kretz 2024-05-22 2024-05   LEWG Library Evolution
P3320R0 EWG slides for P3144 "Delete if Incomplete" Alisdair Meredith 2024-05-22 2024-05   EWG Evolution
P4000R0 To TS or not to TS: that is the question Michael Wong 2024-05-22 2024-05   All of WG21

2024-04 Mailing Available

The 2024-04 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4974 2024-11 Wroclaw meeting information Herb Sutter 2024-03-18 2024-04   All of WG21
N4975 2024 WG21 admin telecon meetings Herb Sutter 2024-02-21 2024-04   All of WG21
N4976 WG21 agenda: 18-23 March 2024, Tokyo, Japan John Spicer 2024-02-26 2024-04   All of WG21
N4978 WG21 2024-03 Admin telecon minutes Nina Ranns 2024-03-11 2024-04   All of WG21
N4979 Hagenberg Meeting Invitation and Information Peter Kulczycki 2024-03-22 2024-04   All of WG21
N4980 WG21 2024-03 Tokyo Minutes of Meeting Nina Ranns 2024-04-05 2024-04   All of WG21
N4981 Working Draft, Programming Languages -- C++ Thomas Köppe 2024-04-16 2024-04   All of WG21
N4982 Editors' Report, Programming Languages -- C++ Thomas Köppe 2024-04-16 2024-04   All of WG21
P0260R8 C++ Concurrent Queues Detlef Vollmann 2024-03-09 2024-04 P0260R7 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0562R1 Initialization List Symmetry Alan Talbot 2024-03-21 2024-04 P0562R0 EWG Evolution
P0562R2 Trailing Commas in Base-clauses and Ctor-initializers Alan Talbot 2024-04-15 2024-04 P0562R1 CWG Core
P0609R3 Attributes for Structured Bindings Aaron Ballman 2024-03-21 2024-04 P0609R2 CWG Core
P0843R11 inplace_vector Gonzalo Brito Gadeschi 2024-03-21 2024-04 P0843R10 LWG Library
P0876R16 fiber_context - fibers without scheduler Oliver Kowalke 2024-03-22 2024-04 P0876R15 EWG Evolution,CWG Core,LWG Library
P1061R8 Structured Bindings can introduce a Pack Barry Revzin 2024-04-14 2024-04 P1061R7 CWG Core
P1068R11 Vector API for random number generation Ilya Burylov 2024-04-01 2024-04 P1068R10 LWG Library
P1317R1 Remove return type deduction in std::apply Aaryaman Sagar 2024-04-03 2024-04 P1317R0 LEWG Library Evolution
P2034R3 Partially Mutable Lambda Captures Ryan McDougall 2024-03-20 2024-04 P2034R2 EWGI SG17: EWG Incubator,EWG Evolution,CWG Core
P2075R5 Philox as an extension of the C++ RNG engines Ilya Burylov 2024-04-01 2024-04 P2075R4 LEWG Library Evolution,LWG Library
P2127R0 Making C++ Software Allocator Aware Pablo Halpern 2024-03-11 2024-04   LEWG Library Evolution
P2135R1 P2055R1: A Relaxed Guide to memory_order_relaxed Paul E. McKenney 2024-04-09 2024-04 P2135R0 SG1 Concurrency and Parallelism
P2141R2 Aggregates are named tuples Antony Polukhin 2024-03-06 2024-04 P2141R1 LEWG Library Evolution,LWG Library
P2248R8 Enabling list-initialization for algorithms Giuseppe D'Angelo 2024-03-20 2024-04 P2248R7 LWG Library
P2300R8 `std::execution` Eric Niebler 2024-04-02 2024-04 P2300R7 LEWG Library Evolution,LWG Library
P2300R9 `std::execution` Eric Niebler 2024-04-02 2024-04 P2300R8 LEWG Library Evolution,LWG Library
P2355R2 Postfix fold expressions S. Davis Herring 2024-03-20 2024-04 P2355R1 EWG Evolution
P2389R1 `dextents` Index Type Parameter Bryce Adelstein Lelbach 2024-04-12 2024-04 P2389R0 LEWG Library Evolution
P2414R3 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2024-04-08 2024-04 P2414R2 SG1 Concurrency and Parallelism,EWG Evolution
P2542R8 views::concat Hui Xie 2024-03-20 2024-04 P2542R7 SG9 Ranges,LEWG Library Evolution,LWG Library
P2573R2 = delete("should have a reason"); Yihe Li 2024-03-21 2024-04 P2573R1 CWG Core
P2591R5 Concatenation of strings and string views Giuseppe D'Angelo 2024-03-20 2024-04 P2591R4 LWG Library
P2746R5 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2024-04-15 2024-04 P2746R4 SG6 Numerics,LEWG Library Evolution
P2747R2 constexpr placement new Barry Revzin 2024-03-18 2024-04 P2747R1 EWG Evolution
P2748R5 Disallow Binding a Returned Glvalue to a Temporary Brian Bi 2024-03-22 2024-04 P2748R4 CWG Core
P2755R1 A Bold Plan for a Complete Contracts Facility Joshua Berne, Jake Fevold, John Lakos 2024-04-10 2024-04 P2755R0 SG21 Contracts
P2786R5 Trivial Relocatability For C++26 Mungo Gill 2024-04-09 2024-04 P2786R4 EWG Evolution,LEWG Library Evolution
P2795R5 Erroneous behaviour for uninitialized reads Thomas Köppe 2024-03-21 2024-04 P2795R4 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core,LWG Library
P2809R3 Trivial infinite loops are not Undefined Behavior JF Bastien 2024-03-21 2024-04 P2809R2 SG22 Compatibility,CWG Core
P2810R4 is_debugger_present is_replaceable René Ferdinand Rivera Morell 2024-03-20 2024-04 P2810R3 LWG Library
P2825R1 Overload Resolution hook: declcall(unevaluated-postfix-expression) Gašper Ažman 2024-03-20 2024-04 P2825R0 EWGI SG17: EWG Incubator,EWG Evolution
P2825R2 Overload Resolution hook: declcall(unevaluated-postfix-expression) Gašper Ažman 2024-04-16 2024-04 P2825R1 EWG Evolution
P2826R2 Replacement functions Gašper Ažman 2024-03-17 2024-04 P2826R1 EWG Evolution
P2830R2 Standardized Constexpr Type Ordering Gašper Ažman 2024-03-17 2024-04 P2830R1 EWG Evolution
P2830R3 Standardized Constexpr Type Ordering Gašper Ažman 2024-04-16 2024-04 P2830R2 EWG Evolution
P2841R2 Concept and variable-template template-parameters Corentin Jabot 2024-02-22 2024-04 P2841R1 EWG Evolution
P2845R7 Formatting of std::filesystem::path Victor Zverovich 2024-03-10 2024-04 P2845R6 LEWG Library Evolution,LWG Library
P2845R8 Formatting of std::filesystem::path Victor Zverovich 2024-03-20 2024-04 P2845R7 LWG Library
P2855R1 Member customization points for Senders and Receivers Ville Voutilainen 2024-02-22 2024-04 P2855R0 LEWG Library Evolution
P2863R5 Review Annex D for C++26 Alisdair Meredith 2024-04-16 2024-04 P2863R4 EWG Evolution,LEWG Library Evolution
P2866R2 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2024-04-16 2024-04 P2866R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2867R2 Remove Deprecated strstreams From C++26 Alisdair Meredith 2024-03-19 2024-04 P2867R1 LWG Library
P2869R4 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 Alisdair Meredith 2024-03-20 2024-04 P2869R3 LWG Library
P2872R3 Remove `wstring_convert` From C++26 Alisdair Meredith 2024-03-19 2024-04 P2872R2 LWG Library
P2873R1 Remove Deprecated locale category facets for Unicode from C++26 Alisdair Meredith 2024-04-08 2024-04 P2873R0 LEWG Library Evolution
P2875R4 Undeprecate `polymorphic_allocator::destroy` For C++26 Alisdair Meredith 2024-03-20 2024-04 P2875R3 LWG Library
P2893R3 Variadic Friends Jody Hagins 2024-03-21 2024-04 P2893R2 CWG Core
P2900R6 Contracts for C++ Joshua Berne 2024-02-29 2024-04 P2900R5 EWG Evolution,LEWG Library Evolution
P2927R2 Observing exceptions stored in exception_ptr Gor Nishanov 2024-04-15 2024-04 P2927R1 LEWG Library Evolution
P2944R3 Comparisons for reference_wrapper Barry Revzin 2024-03-20 2024-04 P2944R2 EWG Evolution,LEWG Library Evolution
P2977R1 Build database files Ben Boeckel 2024-03-25 2024-04 P2977R0 SG15 Tooling
P2988R4 std::optional<T&> Steve Downey 2024-04-16 2024-04 P2988R3 LEWG Library Evolution,LWG Library
P2993R0 Constrained Numbers Luke Valenty 2024-03-21 2024-04   SG6 Numerics,SG23 Safety and Security
P2997R1 Removing the common reference requirement from the indirectly invocable concepts Barry Revzin 2024-03-21 2024-04 P2997R0 SG9 Ranges,LEWG Library Evolution
P3008R2 Atomic floating-point min/max Gonzalo Brito Gadeschi 2024-03-18 2024-04 P3008R1 LEWG Library Evolution
P3016R3 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2024-03-22 2024-04 P3016R2 LWG Library
P3019R7 Vocabulary Types for Composite Class Design Jonathan Coe 2024-03-18 2024-04 P3019R6 LEWG Library Evolution,LWG Library
P3019R8 Vocabulary Types for Composite Class Design Jonathan Coe 2024-03-22 2024-04 P3019R7 LEWG Library Evolution,LWG Library
P3029R1 Better mdspan's CTAD Hewill Kang 2024-03-20 2024-04 P3029R0 LEWG Library Evolution
P3032R1 Less transient constexpr allocation Barry Revzin 2024-03-21 2024-04 P3032R0 EWG Evolution
P3032R2 Less transient constexpr allocation Barry Revzin 2024-04-16 2024-04 P3032R1 EWG Evolution
P3034R1 Module Declarations Shouldn't be Macros Michael Spencer 2024-03-20 2024-04 P3034R0 All of WG21
P3037R1 constexpr std::shared_ptr Paul Keir 2024-03-05 2024-04 P3037R0 SG7 Reflection,LEWG Library Evolution
P3049R0 node-handles for lists Michael Florian Hava 2024-04-03 2024-04   LEWG Library Evolution
P3050R1 Fix C++26 by optimizing linalg::conjugated for noncomplex value types Mark Hoemmen 2024-04-08 2024-04 P3050R0 LEWG Library Evolution
P3064R0 How to Avoid OOTA Without Really Trying Paul E. McKenney 2024-04-05 2024-04   SG1 Concurrency and Parallelism
P3068R1 Allowing exception throwing in constant-evaluation. Hana Dusíková 2024-03-30 2024-04 P3068R0 EWG Evolution
P3072R2 Hassle-free thread attributes Zhihao Yuan 2024-03-17 2024-04 P3072R1 LEWG Library Evolution
P3074R3 trivial union (was std::uninitialized<T>) Barry Revzin 2024-04-14 2024-04 P3074R2 EWG Evolution
P3085R1 `noexcept` policy for SD-9 (throws nothing) Ben Craig 2024-03-17 2024-04 P3085R0 LEWG Library Evolution
P3086R1 Proxy: A Pointer-Semantics-Based Polymorphism Library Mingxin Wang 2024-03-18 2024-04 P3086R0 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3086R2 Proxy: A Pointer-Semantics-Based Polymorphism Library Mingxin Wang 2024-04-16 2024-04 P3086R1 LEWG Library Evolution
P3091R1 Better lookups for `map` and `unordered_map` Pablo Halpern 2024-03-22 2024-04 P3091R0 LEWGI SG18: LEWG Incubator
P3094R1 std::basic_fixed_string Mateusz Pusz 2024-03-20 2024-04 P3094R0 SG16 Unicode,LEWG Library Evolution
P3097R0 Contracts for C++: Support for virtual functions Timur Doumler 2024-04-15 2024-04   SG21 Contracts
P3103R1 More bitset operations Jan Schultke 2024-03-07 2024-04 P3103R0 LEWGI SG18: LEWG Incubator
P3104R1 Bit permutations Jan Schultke 2024-03-07 2024-04 P3104R0 LEWGI SG18: LEWG Incubator
P3104R2 Bit permutations Jan Schultke 2024-04-04 2024-04 P3104R1 LEWGI SG18: LEWG Incubator
P3105R1 constexpr std::uncaught_exceptions() Jan Schultke 2024-03-07 2024-04 P3105R0 LEWGI SG18: LEWG Incubator
P3105R2 constexpr std::uncaught_exceptions() Jan Schultke 2024-04-04 2024-04 P3105R1 LEWGI SG18: LEWG Incubator
P3106R1 Clarifying rules for brace elision in aggregate initialization James Touton 2024-03-20 2024-04 P3106R0 CWG Core
P3107R1 Permit an efficient implementation of std::print Victor Zverovich 2024-02-25 2024-04 P3107R0 LEWG Library Evolution
P3107R2 Permit an efficient implementation of std::print Victor Zverovich 2024-03-17 2024-04 P3107R1 LEWG Library Evolution
P3107R3 Permit an efficient implementation of std::print Victor Zverovich 2024-03-18 2024-04 P3107R2 LEWG Library Evolution
P3107R4 Permit an efficient implementation of std::print Victor Zverovich 2024-03-19 2024-04 P3107R3 LEWG Library Evolution
P3107R5 Permit an efficient implementation of std::print Victor Zverovich 2024-03-21 2024-04 P3107R4 LWG Library
P3119R0 Tokyo Technical Fixes to Contracts Joshua Berne 2024-04-04 2024-04   SG21 Contracts
P3122R1 [[nodiscard]] should be Recommended Practice Jonathan Wakely 2024-03-12 2024-04 P3122R0 LEWG Library Evolution,LWG Library
P3135R1 Hazard Pointer Extensions Maged Michael 2024-04-12 2024-04 P3135R0 SG1 Concurrency and Parallelism
P3146R1 Clarifying std::variant converting construction Giuseppe D'Angelo 2024-02-20 2024-04 P3146R0 LEWG Library Evolution,LWG Library
P3147R1 A Direction for Vector Alan Talbot 2024-03-17 2024-04 P3147R0 LEWG Library Evolution
P3149R1 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-03-13 2024-04 P3149R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3149R2 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-03-20 2024-04 P3149R1 LEWG Library Evolution
P3159R0 C++ Range Adaptors and Parallel Algorithms Bryce Adelstein Lelbach 2024-03-17 2024-04   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3160R1 An allocator-aware `inplace_vector` Pablo Halpern 2024-03-08 2024-04 P3160R0 LEWG Library Evolution
P3161R0 Unified integer overflow arithmetic Tiago Freire 2024-02-17 2024-04   SG6 Numerics
P3161R1 Unified integer overflow arithmetic Tiago Freire 2024-03-13 2024-04 P3161R0 SG6 Numerics
P3162R0 LEWG [[nodiscard]] policy Darius Neațu 2024-02-22 2024-04   LEWG Library Evolution
P3164R0 Improving diagnostics for sender expressions Eric Niebler 2024-02-29 2024-04   LEWG Library Evolution
P3165R0 Contracts on virtual functions for the Contracts MVP Ville Voutilainen 2024-02-26 2024-04   SG21 Contracts
P3166R0 Static Exception Specifications Lewis Baker 2024-03-16 2024-04   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3167R0 Attributes for the result name in a postcondition assertion Tom Honermann 2024-02-28 2024-04   SG21 Contracts
P3168R0 Give std::optional Range Support David Sankel 2024-02-28 2024-04   LEWG Library Evolution
P3168R1 Give std::optional Range Support David Sankel 2024-04-11 2024-04 P3168R0 LEWG Library Evolution
P3169R0 Inherited contracts Jonas Persson 2024-04-13 2024-04   SG21 Contracts
P3170R0 sinkable exception error message Jarrad J Waterloo 2024-02-29 2024-04   LEWG Library Evolution
P3171R0 Adding functionality to placeholder types Barry Revzin 2024-03-04 2024-04   LEWG Library Evolution
P3172R0 Using `this` in constructor preconditions Andrzej Krzemieński 2024-03-08 2024-04   SG21 Contracts
P3173R0 P2900R6 may be minimimal, but it is not viable Gabriel Dos Reis 2024-03-15 2024-04   EWG Evolution
P3174R0 SG16: Unicode meeting summaries 2023-10-11 through 2024-02-21 Tom Honermann 2024-03-09 2024-04   SG16 Unicode
P3175R0 Reconsidering the `std::execution::on` algorithm Eric Niebler 2024-03-14 2024-04   LEWG Library Evolution
P3176R0 The Oxford variadic comma Jan Schultke 2024-03-07 2024-04   EWGI SG17: EWG Incubator
P3177R0 const prvalues in the conditional operator Barry Revzin 2024-03-17 2024-04   EWG Evolution
P3179R0 C++ parallel range algorithms Ruslan Arutyunyan 2024-03-14 2024-04   SG1 Concurrency and Parallelism,SG9 Ranges
P3180R0 C++ Standard Library Ready Issues to be moved in Tokyo, Mar. 2024 Jonathan Wakely 2024-03-15 2024-04   All of WG21
P3181R0 Atomic stores and object lifetimes Hans Boehm 2024-04-15 2024-04   SG1 Concurrency and Parallelism
P3182R0 Add pop_value methods to container adaptors Brian Bi 2024-04-16 2024-04   LEWG Library Evolution
P3183R0 Contract testing support Bengt Gustafsson 2024-04-15 2024-04   SG21 Contracts
P3187R1 remove ensure_started and start_detached from P2300 Kirk Shoop 2024-03-20 2024-04 P3187R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3187R1 remove ensure_started and start_detached from P2300 Kirk Shoop 2024-03-20 2024-04 P3187R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3188R0 Proxy: A Pointer-Semantics-Based Polymorphism Library - Presentation slides for P3086R1 Mingxin Wang 2024-04-16 2024-04   LEWGI SG18: LEWG Incubator
P3189R0 Slides for LEWG presentation of P2900R6: Contracts for C++ Timur Doumler 2024-03-18 2024-04   LEWG Library Evolution
P3190R0 Slides for EWG presentation of D2900R7: Contracts for C++ Timur Doumler 2024-03-19 2024-04   EWG Evolution
P3191R0 Feedback on the scalability of contract violation handlers in P2900 Louis Dionne 2024-03-20 2024-04   SG21 Contracts,EWG Evolution
P3192R0 LEWGI/SG18 Presentation of P3104R1 Bit Permutations Jan Schultke 2024-03-19 2024-04   LEWGI SG18: LEWG Incubator
P3194R0 LEWGI/SG18 Presentation of P3105R1 constexpr std::uncaught_exceptions() Jan Schultke 2024-03-19 2024-04   LEWGI SG18: LEWG Incubator
P3196R0 Core Language Working Group "ready" Issues for the March, 2024 meeting Jens Maurer 2024-03-22 2024-04   CWG Core
P3197R0 A response to the Tokyo EWG polls on the Contracts MVP (P2900R6) Timur Doumler 2024-04-12 2024-04   SG21 Contracts,EWG Evolution
P3198R0 A takeaway from the Tokyo LEWG meeting on Contracts MVP Andrzej Krzemieński 2024-03-29 2024-04   SG21 Contracts
P3199R0 Choices for make_optional and value() Steve Downey 2024-03-22 2024-04   LEWG Library Evolution
P3201R0 LEWG [[nodiscard]] policy Jonathan Wakely 2024-03-21 2024-04   LEWG Library Evolution
P3201R1 LEWG [[nodiscard]] policy Jonathan Wakely 2024-03-21 2024-04 P3201R0 LEWG Library Evolution
P3203R0 Implementation defined coroutine extensions Klemens Morgenstern 2024-03-22 2024-04   EWGI SG17: EWG Incubator
P3205R0 Throwing from a `noexcept` function should be a contract violation. Gašper Ažman 2024-04-15 2024-04   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P3207R0 More & like Jarrad J Waterloo 2024-03-24 2024-04   LEWG Library Evolution
P3208R0 import std; and stream macros Sunghyun Min 2024-04-16 2024-04   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3210R0 A Postcondition *is* a Pattern Match Andrew Tomazos 2024-03-28 2024-04   SG21 Contracts,EWG Evolution
P3211R0 views::transform_join Hewill Kang 2024-04-07 2024-04   SG9 Ranges,LEWG Library Evolution,LWG Library,Direction Group
P3213R0 2024-04 Library Evolution Polls Inbal Levi 2024-04-16 2024-04   LEWG Library Evolution
P3215R0 Slides: Thread Attributes as Designators (P3072R2 presentation) Zhihao Yuan 2024-03-29 2024-04   LEWG Library Evolution
P3216R0 views::slice Hewill Kang 2024-04-07 2024-04   SG9 Ranges,LEWG Library Evolution,LWG Library,Direction Group
P3217R0 Adjoints to "Enabling list-initialization for algorithms": find_last Giuseppe D'Angelo 2024-03-31 2024-04   LEWG Library Evolution,LWG Library
P3218R0 const references to constexpr variables Jarrad J Waterloo 2024-04-09 2024-04   EWG Evolution,CWG Core
P3220R0 views::delimit Hewill Kang 2024-04-16 2024-04   SG9 Ranges,LEWG Library Evolution,LWG Library,Direction Group
P3221R0 Disable pointers to contracted functions Jonas Persson 2024-04-15 2024-04   SG21 Contracts
P3222R0 Fix C++26 by adding transposed special cases for P2642 layouts Mark Hoemmen 2024-04-08 2024-04   LEWG Library Evolution
P3223R0 Making std::basic_istream::ignore less surprising Jonathan Wakely 2024-04-12 2024-04   LEWG Library Evolution
P3224R0 Slides for P3087 - Make direct-initialization for enumeration types at least as permissive as direct Jan Schultke 2024-04-04 2024-04   EWGI SG17: EWG Incubator
P3225R0 Slides for P3140 std::int_least128_t Jan Schultke 2024-04-04 2024-04   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3226R0 Contracts for C++: Naming the "Louis semantic" Timur Doumler 2024-04-12 2024-04   SG21 Contracts
P3228R0 Contracts for C++: Revisiting contract check elision and duplication Timur Doumler 2024-04-16 2024-04   SG21 Contracts

Results summary: 2024 Annual C++ Developer Survey "Lite"

Over the past week, we ran our 2024 annual global C++ developer surveyThank you to everyone who responded. As promised, here is a summary of the results:

CppDevSurvey-2024-summary.pdf

The results have now been forwarded to the C++ standards committee to help inform C++ evolution. Your feedback will be very helpful, and thank you again for your participation! Stay safe, everyone.

Update to add note: We discovered after the survey went live that SurveyMonkey has started rejecting responses from some countries. They did not notify us this was going to happen, and it means we don't have responses this year from countries that were included in all previous years. We'll look into fixing that for next year because we do want to hear from all C++ programmers worldwide.

Survey closing soon: 2024 Annual C++ Developer Survey "Lite"

cpp_logo.png

Last week, the annual global C++ developer survey opened. If you haven't already, please take 10 minutes or so to participate!

2024 Annual C++ Developer Survey "Lite"

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 participants to help inform C++ evolution.

The survey closes on Wednesday.

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

2024 Annual C++ Developer Survey "Lite"

cpp_logo.png

The annual global C++ developer survey is now open. As the name suggests, it's a one-pager:

2024 Annual C++ Developer Survey "Lite"

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 participants to help inform C++ evolution.

The survey closes in one week.

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

2024-02 Mailing Available

The 2024-02 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0493R5 Atomic maximum/minimum Al Grant 2024-02-12 2024-02 P0493R4 SG1 Concurrency and Parallelism,LWG Library
P0843R10 inplace_vector Gonzalo Brito Gadeschi 2024-02-12 2024-02 P0843R9 LWG Library
P0876R15 fiber_context - fibers without scheduler Oliver Kowalke 2024-02-14 2024-02 P0876R14 CWG Core,LWG Library
P1061R7 Structured Bindings can introduce a Pack Barry Revzin 2024-02-14 2024-02 P1061R6 EWG Evolution
P1144R10 std::is_trivially_relocatable Arthur O'Dwyer 2024-02-15 2024-02 P1144R9 EWG Evolution,LEWG Library Evolution
P1729R4 Text Parsing Elias Kosunen 2024-02-11 2024-02 P1729R3 SG9 Ranges,SG16 Unicode,LEWG Library Evolution
P2047R7 An allocator-aware optional type Nina Ranns 2024-02-15 2024-02 P2047R6 LEWG Library Evolution
P2075R4 Philox as an extension of the C++ RNG engines Ilya Burylov 2024-02-14 2024-02 P2075R3 LEWG Library Evolution
P2249R5 Mixed comparisons for smart pointers Giuseppe D'Angelo 2024-02-15 2024-02 P2249R4 LEWG Library Evolution
P2249R6 Mixed comparisons for smart pointers Giuseppe D'Angelo 2024-02-15 2024-02 P2249R5 LEWG Library Evolution
P2299R4 `mdspan`s of All Dynamic Extents Bryce Adelstein Lelbach 2024-02-15 2024-02 P2299R3 LEWG Library Evolution
P2389R0 `dextents` Index Type Parameter Nevin Liber 2024-02-15 2024-02   LEWG Library Evolution
P2422R0 Remove nodiscard annotations from the standard library specification Ville Voutilainen 2024-02-09 2024-02   LEWG Library Evolution,LWG Library
P2643R2 Improving C++ concurrency features Gonzalo Brito Gadeschi 2024-01-31 2024-02 P2643R1 LEWG Library Evolution
P2686R3 constexpr structured bindings and references to constexpr variables Corentin Jabot 2024-02-15 2024-02 P2686R2 EWG Evolution,CWG Core
P2688R1 Pattern Matching: `match` Expression Michael Park 2024-02-15 2024-02 P2688R0 EWG Evolution
P2721R0 Deprecating function Michael Florian Hava 2024-02-14 2024-02   LEWG Library Evolution
P2727R4 std::iterator_interface Zach Laine 2024-02-05 2024-02 P2727R3 LEWG Library Evolution
P2746R4 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2024-02-14 2024-02 P2746R3 SG6 Numerics,LEWG Library Evolution
P2758R2 Emitting messages at compile time Barry Revzin 2024-02-14 2024-02 P2758R1 EWG Evolution,LEWG Library Evolution
P2781R4 std::constexpr_wrapper Zach Laine 2024-02-11 2024-02 P2781R3 LEWG Library Evolution
P2786R4 Trivial Relocatability For C++26 Mungo Gill 2024-02-09 2024-02 P2786R3 EWG Evolution,LEWG Library Evolution
P2822R0 Providing user control of associated entities of class types Lewis Baker 2024-02-15 2024-02   EWG Evolution
P2835R3 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-01-31 2024-02 P2835R2 LEWG Library Evolution
P2845R6 Formatting of std::filesystem::path Victor Zverovich 2024-01-27 2024-02 P2845R5 SG16 Unicode,LEWG Library Evolution,LWG Library
P2863R4 Review Annex D for C++26 Alisdair Meredith 2024-02-15 2024-02 P2863R3 EWG Evolution,LEWG Library Evolution
P2875R3 Undeprecate `polymorphic_allocator::destroy` For C++26 Alisdair Meredith 2024-02-15 2024-02 P2875R2 LEWG Library Evolution
P2893R2 Variadic Friends Jody Hagins 2024-02-12 2024-02 P2893R1 CWG Core
P2900R5 Contracts for C++ Joshua Berne 2024-02-15 2024-02 P2900R4 EWG Evolution,LEWG Library Evolution
P2927R1 Observing exceptions stored in exception_ptr Gor Nishanov 2024-02-15 2024-02 P2927R0 LEWG Library Evolution
P2964R0 Allowing user-defined types in std::simd Daniel Towner 2024-02-09 2024-02   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2988R2 std::optional\ Steve Downey 2024-02-15 2024-02 P2988R1 LEWG Library Evolution,LWG Library
P2988R3 std::optional<T&> Steve Downey 2024-02-15 2024-02 P2988R2 LEWG Library Evolution,LWG Library
P2989R1 A Simple Approach to Universal Template Parameters Corentin Jabot 2024-02-15 2024-02 P2989R0 EWG Evolution
P2992R1 Attribute [[discard("reason")]] Giuseppe D'Angelo 2024-02-02 2024-02 P2992R0 SG22 Compatibility,EWG Evolution
P2994R1 On the Naming of Packs Barry Revzin 2024-02-14 2024-02 P2994R0 EWG Evolution
P2996R2 Reflection for C++26 Barry Revzin 2024-02-15 2024-02 P2996R1 EWG Evolution
P3002R1 Policies for Using Allocators in New Library Classes Pablo Halpern 2024-02-15 2024-02 P3002R0 LEWG Library Evolution
P3004R0 Principled Design for WG21 John Lakos 2024-02-15 2024-02   EWG Evolution,LEWG Library Evolution
P3005R0 Memorializing Principled-Design Policies for WG21 John Lakos 2024-02-14 2024-02   EWG Evolution,LEWG Library Evolution
P3008R1 Atomic floating-point min/max Gonzalo Brito Gadeschi 2024-01-31 2024-02 P3008R0 SG6 Numerics,LEWG Library Evolution
P3016R2 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2024-02-12 2024-02 P3016R1 LEWG Library Evolution
P3019R4 Vocabulary Types for Composite Class Design Jonathan Coe 2024-02-05 2024-02 P3019R3 LEWG Library Evolution
P3019R5 Vocabulary Types for Composite Class Design Jonathan Coe 2024-02-07 2024-02 P3019R4 LEWG Library Evolution
P3019R6 Vocabulary Types for Composite Class Design Jonathan Coe 2024-02-11 2024-02 P3019R5 LEWG Library Evolution
P3032R0 Less transient constexpr allocation Barry Revzin 2024-02-13 2024-02   EWG Evolution
P3045R0 Quantities and units library Mateusz Pusz 2024-02-15 2024-02   SG6 Numerics,SG16 Unicode,LEWGI SG18: LEWG Incubator
P3047R0 Remove deprecated namespace `relops` from C++26 Alisdair Meredith 2024-02-15 2024-02   LEWG Library Evolution
P3052R1 view_interface::at() Hewill Kang 2024-01-29 2024-02 P3052R0 SG9 Ranges,SG23 Safety and Security
P3055R1 Relax wording to permit relocation optimizations in the STL Arthur O'Dwyer 2024-02-12 2024-02 P3055R0 LEWG Library Evolution
P3060R1 Add std::views::upto(n) Weile Wei 2024-02-15 2024-02 P3060R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P3068R0 Allowing exception throwing in constant-evaluation. Hana Dusíková 2024-02-11 2024-02   EWG Evolution
P3072R1 Hassle-free thread attributes Zhihao Yuan 2024-02-15 2024-02 P3072R0 LEWG Library Evolution
P3073R0 Remove evaluation_undefined_behavior and will_continue from the Contracts MVP Timur Doumler 2024-01-27 2024-02   SG21 Contracts
P3074R1 std::uninitialized<T> Barry Revzin 2024-01-30 2024-02 P3074R0 EWG Evolution
P3074R2 std::uninitialized<T> Barry Revzin 2024-02-13 2024-02 P3074R1 EWG Evolution
P3085R0 `noexcept` policy for SD-9 (throws nothing) Ben Craig 2024-02-10 2024-02   LEWG Library Evolution
P3088R0 Attributes for contract assertions Timur Doumler 2024-02-12 2024-02   SG21 Contracts
P3088R1 Attributes for contract assertions Timur Doumler 2024-02-13 2024-02 P3088R0 SG21 Contracts
P3090R0 std::execution Introduction Inbal Levi, Eric Niebler 2024-02-14 2024-02   LEWG Library Evolution
P3091R0 Better lookups for `map` and `unordered_map` Pablo Halpern 2024-02-06 2024-02   LEWGI SG18: LEWG Incubator
P3092R0 Modules ABI requirement Chuanqi Xu 2024-01-28 2024-02   SG15 Tooling,ARG ABI Review Group
P3093R0 Attributes on expressions Giuseppe D'Angelo 2024-02-02 2024-02   SG22 Compatibility,EWG Evolution
P3094R0 std::basic_fixed_string Mateusz Pusz 2024-02-05 2024-02   SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3095R0 ABI comparison with reflection Saksham Sharma 2024-02-15 2024-02   SG7 Reflection,LEWG Library Evolution
P3096R0 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-02-14 2024-02   SG7 Reflection
P3101R0 Differentiating potentially throwing and nonthrowing violation handlers Ran Regev 2024-01-22 2024-02   SG21 Contracts
P3102R0 Refining Contract Violation Detection Modes Joshua Berne 2024-02-05 2024-02   SG21 Contracts
P3103R0 More bitset operations Jan Schultke 2024-01-24 2024-02   LEWGI SG18: LEWG Incubator
P3104R0 Bit permutations Jan Schultke 2024-01-25 2024-02   LEWGI SG18: LEWG Incubator
P3105R0 constexpr std::uncaught_exceptions() Jan Schultke 2024-01-25 2024-02   LEWGI SG18: LEWG Incubator
P3106R0 Clarifying rules for brace elision in aggregate initialization James Touton 2024-02-03 2024-02   CWG Core
P3107R0 Permit an efficient implementation of std::print Victor Zverovich 2024-02-03 2024-02   LEWG Library Evolution
P3109R0 A plan for std::execution for C++26 Lewis Baker 2024-02-12 2024-02   LEWG Library Evolution
P3110R0 Array element initialization via pattern expansion James Touton 2024-02-04 2024-02   EWGI SG17: EWG Incubator,EWG Evolution
P3112R0 Specify Constructor of std::nullopt_t Brian Bi 2024-02-14 2024-02   LEWG Library Evolution,LWG Library
P3113R0 Slides: Contract assertions, the noexcept operator, and deduced exception specifications Timur Doumler 2024-02-02 2024-02   SG21 Contracts
P3114R0 noexcept(contract_assert(_)) -- slides Andrzej Krzemieński 2024-02-02 2024-02   SG21 Contracts
P3115R0 Data Member, Variable and Alias Declarations Can Introduce A Pack Corentin Jabot 2024-02-15 2024-02   EWG Evolution
P3116R0 Policy for explicit Zach Laine 2024-02-08 2024-02   LEWG Library Evolution
P3117R0 Extending Conditionally Borrowed Zach Laine 2024-02-14 2024-02   SG9 Ranges,LEWG Library Evolution
P3122R0 [[nodiscard]] should be Recommended Practice Jonathan Wakely 2024-02-15 2024-02   LEWG Library Evolution,LWG Library
P3123R0 2024-02 Library Evolution Polls Inbal Levi 2024-02-15 2024-02   LEWG Library Evolution
P3126R0 Graph Library: Overview Phil Ratzloff 2024-02-12 2024-02   SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3127R0 Graph Library: Background and Terminology Phil Ratzloff 2024-02-12 2024-02   SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3128R0 Graph Library: Algorithms Phil Ratzloff 2024-02-12 2024-02   SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3129R0 Graph Library: Views Phil Ratzloff 2024-02-12 2024-02   SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3130R0 Graph Library: Graph Container Interface Phil Ratzloff 2024-02-12 2024-02   SG6 Numerics,SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3131R0 Graph Library: Graph Containers Phil Ratzloff 2024-02-12 2024-02   SG6 Numerics,SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution
P3133R0 Fast first-factor finding function Chip Hogg 2024-02-14 2024-02   SG6 Numerics,LEWG Library Evolution
P3135R0 Hazard Pointer Extensions Maged Michael 2024-02-11 2024-02   SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3136R0 Retiring niebloids Tim Song 2024-02-14 2024-02   SG9 Ranges
P3137R0 views::to_input Tim Song 2024-02-14 2024-02   SG9 Ranges
P3138R0 views::cache_last Tim Song 2024-02-14 2024-02   SG1 Concurrency and Parallelism,SG9 Ranges
P3140R0 std::int_least128_t Jan Schultke 2024-02-14 2024-02   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3142R0 Printing Blank Lines with println Alan Talbot 2024-02-12 2024-02   LEWG Library Evolution
P3143R0 An in-depth walk through of the example in P3090R0 Lewis Baker 2024-02-13 2024-02   LEWG Library Evolution
P3144R0 Deprecate Delete of Incomplete Class Type Alisdair Meredith 2024-02-15 2024-02   SG12 Undefined and Unspecified Behavior,EWGI SG17: EWG Incubator
P3146R0 Clarifying std::variant converting construction Giuseppe D'Angelo 2024-02-13 2024-02   LEWG Library Evolution,LWG Library
P3147R0 A Direction for Vector Alan Talbot 2024-02-14 2024-02   LEWG Library Evolution
P3148R0 Formatting of chrono Time Values Alan Talbot 2024-02-14 2024-02   LEWG Library Evolution
P3149R0 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-02-14 2024-02   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3150R0 SG14: Low Latency/Games/Embedded/Financial Trading virtual Meeting Minutes 2023/12/13-2024/2/14 Michael Wong 2024-02-14 2024-02   SG14 Low Latency
P3151R0 SG19: Machine Learning virtual Meeting Minutes to 2023/12/14-2024/02/8 Michael Wong 2024-02-14 2024-02   SG19 Machine Learning
P3153R0 An allocator-aware variant type Nina Ranns 2024-02-15 2024-02   LEWG Library Evolution
P3154R0 Deprecating signed character types in iostreams Elias Kosunen 2024-02-15 2024-02   SG16 Unicode,LEWG Library Evolution
P3155R0 noexcept policy for SD-9 (The Lakos Rule) Timur Doumler 2024-02-15 2024-02   LEWG Library Evolution
P3156R0 empty_checkable_range Hewill Kang 2024-02-15 2024-02   LEWGI SG18: LEWG Incubator
P3157R0 Generative Extensions for Reflection Andrei Alexandrescu 2024-02-15 2024-02   SG7 Reflection
P3158R0 Headless Template Template Parameters James Touton 2024-02-15 2024-02   EWGI SG17: EWG Incubator,EWG Evolution
P3160R0 An allocator-aware `inplace_vector` Pablo Halpern 2024-02-15 2024-02   LEWG Library Evolution
P3300R0 C++ Asynchronous Parallel Algorithms Bryce Adelstein Lelbach 2024-02-15 2024-02   SG1 Concurrency and Parallelism,LEWG Library Evolution

What are senders good for, anyway? -- Eric Niebler

In a recent blog post, Eric Niebler gets inside the soon-to-be-standard async programming model and shows why you should care.

What are senders good for, anyway?

by Eric Niebler

From the article:

At the heart of P2300 is a simple, elegant (IMHO) core that brings many benefits, but it’s hard to see that forest for all the trees.

So let’s make this concrete. In this post, I’ll show how to bring a crusty old C-style async API into the world of senders, and why you might want to do that.

2024-01 Mailing Available

The 2024-01 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P1255R11 A view of 0 or 1 elements: views::maybe Steve Downey 2024-01-12 2024-01 P1255R10 SG9 Ranges,LEWG Library Evolution
P1255R12 A view of 0 or 1 elements: views::maybe Steve Downey 2024-01-16 2024-01 P1255R11 SG9 Ranges,LEWG Library Evolution,LWG Library
P1709R5 Graph Library Phillip Ratzloff 2024-01-15 2024-01 P1709R4 SG6 Numerics,SG14 Low Latency,SG19 Machine Learning
P2019R5 Thread attributes Corentin Jabot 2024-01-13 2024-01 P2019R4 LEWG Library Evolution
P2527R3 std::variant_alternative_index and std::tuple_element_index Alex Christensen 2024-01-02 2024-01 P2527R2 LEWG Library Evolution
P2664R6 Proposal to extend std::simd with permutation API Daniel Towner 2024-01-16 2024-01 P2664R5 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2748R3 Disallow Binding a Returned Glvalue to a Temporary Brian Bi 2024-01-08 2024-01 P2748R2 CWG Core
P2748R4 Disallow Binding a Returned Glvalue to a Temporary Brian Bi 2024-01-08 2024-01 P2748R3 CWG Core
P2835R2 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-01-10 2024-01 P2835R1 LEWG Library Evolution
P2894R2 Constant evaluation of Contracts Timur Doumler 2024-01-11 2024-01 P2894R1 SG21 Contracts
P2900R4 Contracts for C++ Joshua Berne 2024-01-16 2024-01 P2900R3 SG21 Contracts
P2932R3 A Principled Approach to Open Design Questions for Contracts Joshua Berne 2024-01-15 2024-01 P2932R2 SG21 Contracts
P2946R1 A flexible solution to the problems of `noexcept` Pablo Halpern 2024-01-15 2024-01 P2946R0 EWGI SG17: EWG Incubator,EWG Evolution
P2957R1 Contracts and coroutines Andrzej Krzemieński 2024-01-13 2024-01 P2957R0 SG21 Contracts
P2963R1 Ordering of constraints involving fold expressions Corentin Jabot 2024-01-13 2024-01 P2963R0 EWG Evolution
P2988R1 std::optional<T&> Steve Downey 2024-01-05 2024-01 P2988R0 LEWG Library Evolution,LWG Library
P3044R0 sub-string_view from string Michael Florian Hava 2024-01-15 2024-01   LEWG Library Evolution
P3054R0 2023-12 Library Evolution Poll Outcomes Inbal Levi 2024-01-13 2024-01   All of WG21
P3079R0 Should ignore and observe exist for constant evaluation of contracts? Oliver Rosten 2024-01-11 2024-01   SG21 Contracts
P3084R0 Slides for LEWG views::maybe 20240109 Steve Downey 2024-01-12 2024-01   LEWG Library Evolution
P3086R0 Proxy: A Pointer-Semantics-Based Polymorphism Library Mingxin Wang 2024-01-16 2024-01   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3087R0 Make direct-initialization for enumeration types at least as permissive as direct-list-initializatio Jan Schultke 2024-01-16 2024-01   LEWGI SG18: LEWG Incubator