Standardization

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

2023-12 Mailing Available

The 2023-12 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4966 St. Louis Meeting Invitation and Information Bill Seymour 2023-10-19 2023-12   All of WG21
N4967 WG21 2023-10 Admin telecon minutes Nina Ranns 2023-10-30 2023-12   All of WG21
N4970 WG21 2023-11 Kona Minutes of Meeting Nina Ranns 2023-11-28 2023-12   All of WG21
N4971 Working Draft, Programming Languages -- C++ Thomas Köppe 2023-12-17 2023-12   All of WG21
N4972 Editors' Report, Programming Languages -- C++ Thomas Köppe 2023-12-17 2023-12   All of WG21
P0447R24 Introduction of std::hive to the standard library Matt Bentley 2023-10-25 2023-12 P0447R23 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0447R25 Introduction of std::hive to the standard library Matt Bentley 2023-12-03 2023-12 P0447R24 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0447R26 Introduction of std::hive to the standard library Matt Bentley 2023-12-17 2023-12 P0447R25 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0609R2 Attributes for Structured Bindings Aaron Ballman 2023-11-27 2023-12 P0609R1 CWG Core
P0952R2 A new specification for std::generate_canonical Thomas Köppe 2023-12-18 2023-12 P0952R1 LWG Library
P1028R6 SG14 status_code and standard error object Niall Douglas 2023-12-10 2023-12 P1028R5 LEWG Library Evolution
P1061R6 Structured Bindings can introduce a Pack Barry Revzin 2023-12-10 2023-12 P1061R5 EWG Evolution
P1068R10 Vector API for random number generation Ilya Burylov 2023-12-09 2023-12 P1068R9 LWG Library
P1673R13 A free function linear algebra interface based on the BLAS Mark Hoemmen 2023-12-18 2023-12 P1673R12 All of WG21
P1708R8 Basic Statistics Richard Dosselmann 2023-12-17 2023-12 P1708R7 SG6 Numerics,SG14 Low Latency,LEWG Library Evolution,LWG Library
P1709R4 Graph Library Phillip Ratzloff 2023-12-18 2023-12 P1709R3 SG19 Machine Learning
P1709R4 Graph Library Phillip Ratzloff 2023-12-18 2023-12 P1709R3 SG19 Machine Learning
P1928R8 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-11-09 2023-12 P1928R7 LEWG Library Evolution,LWG Library
P1967R12 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2023-12-09 2023-12 P1967R11 CWG Core
P2022R3 Rangified version of lexicographical_compare_three_way Ran Regev 2023-12-17 2023-12 P2022R2 SG9 Ranges,LEWG Library Evolution
P2264R6 Make assert() macro user friendly for C and C++ Peter Sommerlad 2023-11-10 2023-12 P2264R5 LWG Library
P2264R7 Make assert() macro user friendly for C and C++ Peter Sommerlad 2023-12-18 2023-12 P2264R6 LWG Library
P2267R1 Library Evolution Policies Inbal Levi 2023-11-22 2023-12 P2267R0 LEWG Library Evolution
P2308R1 Template parameter initialization S. Davis Herring 2023-12-18 2023-12 P2308R0 CWG Core
P2414R2 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2023-12-17 2023-12 P2414R1 SG1 Concurrency and Parallelism,EWG Evolution
P2447R6 std::span over an initializer list Arthur O'Dwyer 2023-12-18 2023-12 P2447R5 LWG Library
P2481R2 Forwarding reference to specific type/template Barry Revzin 2023-12-16 2023-12 P2481R1 EWG Evolution
P2542R7 views::concat Hui Xie 2023-12-02 2023-12 P2542R6 SG9 Ranges,LEWG Library Evolution,LWG Library
P2573R1 = delete("should have a reason"); Yihe Li 2023-11-10 2023-12 P2573R0 EWG Evolution
P2642R5 Padded mdspan layouts Christian Trott 2023-12-05 2023-12 P2642R4 LEWG Library Evolution,LWG Library
P2662R3 Pack Indexing Corentin Jabot 2023-12-18 2023-12 P2662R2 CWG Core
P2663R5 Proposal to support interleaved complex values in std::simd Daniel Towner 2023-12-08 2023-12 P2663R4 LEWG Library Evolution
P2664R5 Proposal to extend std::simd with permutation API Daniel Towner 2023-10-25 2023-12 P2664R4 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2717R4 Tool Introspection René Ferdinand Rivera Morell 2023-11-08 2023-12 P2717R3 SG15 Tooling
P2717R5 Tool Introspection René Ferdinand Rivera Morell 2023-11-10 2023-12 P2717R4 SG15 Tooling
P2747R1 constexpr placement new Barry Revzin 2023-12-10 2023-12 P2747R0 EWG Evolution
P2758R1 Emitting messages at compile time Barry Revzin 2023-12-09 2023-12 P2758R0 EWG Evolution,LEWG Library Evolution
P2760R1 A Plan for C++26 Ranges Barry Revzin 2023-12-14 2023-12 P2760R0 SG9 Ranges,LEWG Library Evolution
P2761R0 Slides: If structured binding (P0963R1 presentation) Zhihao Yuan 2023-11-08 2023-12   EWGI SG17: EWG Incubator
P2767R2 flat_map/flat_set omnibus Arthur O'Dwyer 2023-12-09 2023-12 P2767R1 LEWG Library Evolution,LWG Library
P2795R4 Erroneous behaviour for uninitialized reads Thomas Köppe 2023-11-10 2023-12 P2795R3 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core,LWG Library
P2806R2 do expressions Barry Revzin 2023-11-16 2023-12 P2806R1 EWG Evolution
P2810R2 is_debugger_present is_replaceable René Ferdinand Rivera Morell 2023-12-02 2023-12 P2810R1 LEWG Library Evolution
P2810R3 is_debugger_present is_replaceable René Ferdinand Rivera Morell 2023-12-03 2023-12 P2810R2 LEWG Library Evolution
P2819R2 Add tuple protocol to complex Michael Florian Hava 2023-12-18 2023-12 P2819R1 LWG Library
P2821R5 span.at() Jarrad J. Waterloo 2023-12-18 2023-12 P2821R4 SG23 Safety and Security,LEWG Library Evolution
P2826R1 Replacement functions Gašper Ažman 2023-11-05 2023-12 P2826R0 EWG Evolution
P2827R1 Floating-point overflow and underflow in from_chars (LWG 3081) Zhihao Yuan 2023-11-20 2023-12 P2827R0 LEWG Library Evolution,LWG Library
P2830R1 constexpr type comparison Gašper Ažman 2023-11-05 2023-12 P2830R0 EWG Evolution
P2845R5 Formatting of std::filesystem::path Victor Zverovich 2023-11-24 2023-12 P2845R4 LWG Library
P2863R3 Review Annex D for C++26 Alisdair Meredith 2023-12-18 2023-12 P2863R2 EWG Evolution,LEWG Library Evolution
P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations From C++26 Alisdair Meredith 2023-12-18 2023-12 P2864R1 CWG Core
P2865R4 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2023-11-12 2023-12 P2865R3 SG22 Compatibility
P2868R3 Remove Deprecated `std::allocator` Typedef From C++26 Alisdair Meredith 2023-12-18 2023-12 P2868R2 LWG Library
P2869R3 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 Alisdair Meredith 2023-12-03 2023-12 P2869R2 LEWG Library Evolution,LWG Library
P2870R3 Remove `basic_string::reserve()` From C++26 Alisdair Meredith 2023-12-18 2023-12 P2870R2 LWG Library
P2871R3 Remove Deprecated Unicode Conversion Facets From C++26 Alisdair Meredith 2023-12-18 2023-12 P2871R2 LWG Library
P2878R6 Reference checking Jarrad J. Waterloo 2023-11-13 2023-12 P2878R5 SG23 Safety and Security
P2890R1 Contracts on lambdas Timur Doumler 2023-12-07 2023-12 P2890R0 SG21 Contracts
P2890R2 Contracts on lambdas Timur Doumler 2023-12-13 2023-12 P2890R1 SG21 Contracts
P2894R1 Constant evaluation of Contracts Timur Doumler 2023-12-07 2023-12 P2894R0 SG21 Contracts
P2900R2 Contracts for C++ Joshua Berne 2023-11-11 2023-12 P2900R1 SG21 Contracts
P2900R3 Contracts for C++ Joshua Berne 2023-12-17 2023-12 P2900R2 SG21 Contracts
P2909R3 Fix formatting of code units as integers (Dude, where's my char?) Victor Zverovich 2023-11-07 2023-12 P2909R2 LWG Library
P2909R4 Fix formatting of code units as integers (Dude, where's my char?) Victor Zverovich 2023-12-18 2023-12 P2909R3 LWG Library
P2918R2 Runtime format strings II Victor Zverovich 2023-12-18 2023-12 P2918R1 LWG Library
P2932R2 A Principled Approach to Open Design Questions for Contracts Joshua Berne 2023-11-14 2023-12 P2932R1 SG21 Contracts
P2933R1 std::simd overloads for <bit> header Daniel Towner 2023-12-08 2023-12 P2933R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2935R4 An Attribute-Like Syntax for Contracts Joshua Berne 2023-11-05 2023-12 P2935R3 SG21 Contracts
P2952R1 auto& operator=(X&&) = default Arthur O'Dwyer 2023-12-09 2023-12 P2952R0 EWG Evolution
P2961R2 A natural syntax for Contracts Timur Doumler 2023-11-08 2023-12 P2961R1 SG21 Contracts
P2968R1 Make std::ignore a first-class object Peter Sommerlad 2023-12-12 2023-12 P2968R0 LEWG Library Evolution,LWG Library
P2968R2 Make std::ignore a first-class object Peter Sommerlad 2023-12-13 2023-12 P2968R1 LWG Library
P2969R0 Contract annotations are potentially-throwing Timur Doumler 2023-12-04 2023-12   SG21 Contracts
P2977R0 Module commands database format Ben Boeckel 2023-11-14 2023-12   SG15 Tooling
P2980R1 A motivation, scope, and plan for a quantities and units library Mateusz Pusz 2023-11-28 2023-12 P2980R0 SG6 Numerics,SG23 Safety and Security,LEWG Library Evolution
P2981R1 Improving our safety with a physical quantities and units library Mateusz Pusz 2023-11-08 2023-12 P2981R0 SG23 Safety and Security,LEWG Library Evolution
P2982R1 `std::quantity` as a numeric type Mateusz Pusz 2023-11-08 2023-12 P2982R0 SG6 Numerics,LEWG Library Evolution
P2984R1 Reconsider Redeclaring static constexpr Data Members Alisdair Meredith 2023-11-12 2023-12 P2984R0 EWG Evolution
P2996R1 Reflection for C++26 Barry Revzin 2023-12-17 2023-12 P2996R0 EWG Evolution
P2999R1 Sender Algorithm Customization Eric Niebler 2023-11-09 2023-12 P2999R0 LEWG Library Evolution
P2999R2 Sender Algorithm Customization Eric Niebler 2023-12-12 2023-12 P2999R1 LEWG Library Evolution
P2999R3 Sender Algorithm Customization Eric Niebler 2023-12-12 2023-12 P2999R2 LEWG Library Evolution
P3006R0 Launder less Antony Polukhin 2023-10-19 2023-12   SG12 Undefined and Unspecified Behavior,EWG Evolution,CWG Core
P3007R0 Return object semantics in postconditions Timur Doumler 2023-12-11 2023-12   SG21 Contracts
P3016R1 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2023-12-09 2023-12 P3016R0 LEWGI SG18: LEWG Incubator
P3019R1 Vocabulary Types for Composite Class Design Jonathan Coe 2023-11-08 2023-12 P3019R0 LEWG Library Evolution,LWG Library
P3019R2 Vocabulary Types for Composite Class Design Jonathan Coe 2023-11-10 2023-12 P3019R1 LEWG Library Evolution,LWG Library
P3019R3 Vocabulary Types for Composite Class Design Jonathan Coe 2023-11-20 2023-12 P3019R2 LEWG Library Evolution
P3022R1 A Boring Thread Attributes Interface David Sankel 2023-11-28 2023-12 P3022R0 LEWG Library Evolution
P3023R1 C++ Should Be C++ David Sankel 2023-11-27 2023-12 P3023R0 EWG Evolution,LEWG Library Evolution
P3024R0 Interface Directions for std::simd David Sankel 2023-11-30 2023-12   LEWG Library Evolution
P3025R0 SG14: Low Latency/Games/Embedded/Financial trading/Simulation virtual Minutes to 2023/09/12 Michael Wong 2023-10-15 2023-12   SG14 Low Latency
P3026R0 SG19: Machine Learning virtual Meeting Minutes to 2023/07/13 Michael Wong 2023-10-15 2023-12   SG19 Machine Learning
P3027R0 UFCS is a breaking change, of the absolutely worst kind Ville Voutilainen 2023-10-26 2023-12   EWG Evolution
P3028R0 An Overview of Syntax Choices for Contracts Joshua Berne 2023-11-05 2023-12   SG21 Contracts
P3029R0 Better mdspan's CTAD Hewill Kang 2023-10-23 2023-12   LEWGI SG18: LEWG Incubator
P3031R0 Resolve CWG2561: conversion function for lambda with explicit object parameter Arthur O'Dwyer 2023-11-12 2023-12   CWG Core
P3033R0 Should we import function bodies to get the better optimizations? Chuanqi Xu 2023-10-31 2023-12   SG15 Tooling
P3034R0 Module Declarations Shouldn't be Macros Michael Spencer 2023-11-10 2023-12   SG15 Tooling,EWG Evolution
P3037R0 constexpr std::shared_ptr Paul Keir 2023-11-06 2023-12   SG7 Reflection,LEWG Library Evolution
P3038R0 Concrete suggestions for initial Profiles Bjarne Stroustrup 2023-12-16 2023-12   SG23 Safety and Security
P3039R0 Automatically Generate `operator->` David Stone 2023-11-07 2023-12   EWG Evolution,LEWG Library Evolution
P3040R0 C++ Standard Library Ready Issues to be moved in Kona, Nov. 2023 Jonathan Wakely 2023-12-18 2023-12   All of WG21
P3041R0 Transitioning from "#include" World to Modules Gabriel Dos Reis 2023-11-15 2023-12   SG15 Tooling
P3042R0 Vocabulary Types for Composite Class Design Jonathan Coe 2023-11-08 2023-12   LEWG Library Evolution
P3043R0 Slides: Using variable template template without meta programming Zhihao Yuan 2023-12-11 2023-12   EWG Evolution
P3046R0 Core Language Working Group "ready" Issues for the November, 2023 meeting Jens Maurer 2023-12-18 2023-12   CWG Core
P3050R0 Optimize linalg::conjugated for noncomplex value types Mark Hoemmen 2023-11-15 2023-12   LEWG Library Evolution
P3051R0 Structured Response Files René Ferdinand Rivera Morell 2023-12-11 2023-12   SG15 Tooling
P3052R0 view_interface::at() Hewill Kang 2023-11-16 2023-12   SG9 Ranges,LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P3053R0 2023-12 Library Evolution Polls Inbal Levi 2023-12-15 2023-12   All of WG21
P3055R0 Relax wording to permit relocation optimizations in the STL Arthur O'Dwyer 2023-12-17 2023-12   LEWGI SG18: LEWG Incubator
P3056R0 what ostream exception Jarrad J. Waterloo 2023-11-20 2023-12   LEWG Library Evolution
P3057R0 Two finer-grained compilation model for named modules Chuanqi Xu 2023-11-21 2023-12   SG15 Tooling
P3059R0 Making user-defined constructors of view iterators/sentinels private Hewill Kang 2023-11-30 2023-12   SG9 Ranges,LEWG Library Evolution
P3060R0 Add std::ranges::upto(n) Weile Wei 2023-11-22 2023-12   LEWG Library Evolution
P3061R0 WG21 2023-11 Kona Record of Discussion Nina Ranns 2023-11-28 2023-12   All of WG21
P3062R0 C++ Should Be C++ - Presentation David Sankel 2023-11-27 2023-12   EWG Evolution,LEWG Library Evolution
P3066R0 Allow repeating contract annotations on non-first declarations Timur Doumler 2023-12-04 2023-12   SG21 Contracts
P3070R0 Formatting enums Victor Zverovich 2023-12-14 2023-12   SG16 Unicode
P3071R0 Protection against modifications in contracts Jens Maurer 2023-12-10 2023-12   SG21 Contracts
P3071R1 Protection against modifications in contracts Jens Maurer 2023-12-17 2023-12 P3071R0 SG21 Contracts
P3072R0 Hassle-free thread attributes Zhihao Yuan 2023-12-17 2023-12   LEWG Library Evolution
P3074R0 constexpr union lifetime Barry Revzin 2023-12-15 2023-12   EWG Evolution
P3075R0 Adding an Undefined Behavior and IFNDR Annex Shafik Yaghmour 2023-12-15 2023-12   CWG Core

Trip report: Autumn ISO C++ standards meeting (Kona, HI, USA) -- Herb Sutter

reflection.pngA report out from this week's ISO C++ standards committee meeting, which just ended:

Trip report: Autumn ISO C++ standards meeting (Kona, HI, USA)

by Herb Sutter

From the article:

This time, the committee adopted the next set of features for C++26. It also made significant progress on other features that are now expected to be complete in time for C++26 — including contracts and reflection.

WG21 Varna Trip Report -- David Sankel

David Sankel discusses about the developments at the June 2023 ISO C++ standardization meeting in Varna.

WG21 Varna Trip Report

by David Sankel

About the report:

In detail he speakes about std::simd, std::inplace_vector, and other developments.

2023-10 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4961 2024-03 Tokyo meeting information JF Bastien 2023-10-02 2023-10   All of WG21
N4962 WG21 agenda: 6-11 November 2023, Kona, HI John Spicer 2023-10-07 2023-10   All of WG21
N4963 2023 WG21 admin telecon meetings, rev. 2 Herb Sutter 2023-09-30 2023-10   All of WG21
N4964 Working Draft, Programming Languages -- C++ Thomas Köppe 2023-10-14 2023-10   All of WG21
N4965 Editors' Report, Programming Languages -- C++ Thomas Köppe 2023-10-14 2023-10   All of WG21
P0447R23 Introduction of std::hive to the standard library Matt Bentley 2023-10-14 2023-10 P0447R22 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0876R14 fiber_context - fibers without scheduler Oliver Kowalke 2023-10-13 2023-10 P0876R13 LWG Library
P0952R1 A new specification for std::generate_canonical Thomas Koeppe 2023-09-20 2023-10 P0952R0 LWG Library
P1144R9 std::is_trivially_relocatable Arthur O'Dwyer 2023-10-12 2023-10 P1144R8 EWG Evolution,LEWG Library Evolution
P1729R3 Text Parsing Elias Kosunen 2023-10-12 2023-10 P1729R2 SG9 Ranges,SG16 Unicode,LEWG Library Evolution
P1928R7 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-10-15 2023-10 P1928R6 LEWG Library Evolution,LWG Library
P2019R4 Thread attributes Corentin Jabot 2023-10-15 2023-10 P2019R3 LEWG Library Evolution
P2075R3 Philox as an extension of the C++ RNG engines Ilya Burylov 2023-10-13 2023-10 P2075R2 LEWG Library Evolution
P2267R0 Library Evolution Policies Inbal Levi 2023-10-15 2023-10   LEWG Library Evolution
P2447R5 std::span over an initializer list Arthur O'Dwyer 2023-10-11 2023-10 P2447R4 LWG Library
P2500R2 C++ parallel algorithms and P2300 Ruslan Arutyunyan 2023-10-15 2023-10 P2500R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2542R6 views::concat Hui Xie 2023-10-01 2023-10 P2542R5 SG9 Ranges,LEWG Library Evolution,LWG Library
P2642R4 Padded mdspan layouts Christian Trott 2023-10-15 2023-10 P2642R3 LEWG Library Evolution
P2663R4 Proposal to support interleaved complex values in std::simd Daniel Towner 2023-10-13 2023-10 P2663R3 LEWG Library Evolution
P2664R4 Proposal to extend std::simd with permutation API Daniel Towner 2023-10-13 2023-10 P2664R3 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2717R3 Tool Introspection René Ferdinand Rivera Morell 2023-10-14 2023-10 P2717R2 SG15 Tooling
P2762R2 Sender/Receiver Interface For Networking Dietmar Kuhl 2023-10-12 2023-10 P2762R1 SG4 Networking,LEWG Library Evolution
P2774R1 Concurrent object pool (was: Scoped thread-local storage) Michael Florian Hava 2023-09-30 2023-10 P2774R0 SG1 Concurrency and Parallelism
P2786R3 Trivial Relocatability For C++26 Mungo Gill 2023-10-14 2023-10 P2786R2 EWG Evolution,LEWG Library Evolution
P2800R0 Dependency flag soup needs some fiber Ben Boeckel 2023-09-20 2023-10   SG15 Tooling
P2809R2 Trivial infinite loops are not Undefined Behavior JF Bastien 2023-10-14 2023-10 P2809R1 SG1 Concurrency and Parallelism,SG22 Compatability,EWG Evolution,LEWG Library Evolution
P2841R1 Concept Template Parameters Corentin Jabot 2023-10-14 2023-10 P2841R0 EWG Evolution
P2845R3 Formatting of std::filesystem::path Victor Zverovich 2023-10-01 2023-10 P2845R2 LEWG Library Evolution
P2845R4 Formatting of std::filesystem::path Victor Zverovich 2023-10-07 2023-10 P2845R3 LEWG Library Evolution
P2862R1 text_encoding::name() should never return null values Daniel Krügler 2023-09-24 2023-10 P2862R0 LEWG Library Evolution,LWG Library
P2863R2 Review Annex D for C++26 Alisdair Meredith 2023-10-15 2023-10 P2863R1 EWG Evolution,LEWG Library Evolution
P2885R3 Requirements for a Contracts syntax Timur Doumler 2023-10-05 2023-10 P2885R2 SG21 Contracts
P2893R1 Variadic Friends Jody Hagins 2023-10-09 2023-10 P2893R0 EWG Evolution
P2897R1 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2023-10-13 2023-10 P2897R0 LEWG Library Evolution
P2900R0 Contracts for C++ Joshua Berne 2023-10-12 2023-10   SG21 Contracts
P2900R1 Contracts for C++ Joshua Berne 2023-10-09 2023-10 P2900R0 SG21 Contracts
P2911R1 Python Bindings with Value-Based Reflection Adam Lach 2023-10-13 2023-10 P2911R0 SG7 Reflection
P2927R0 Observing exceptions stored in exception_ptr Gor Nishanov 2023-10-14 2023-10   LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution
P2932R1 A Principled Approach to Open Design Questions for Contracts Joshua Berne 2023-10-04 2023-10 P2932R0 SG21 Contracts
P2935R3 An Attribute-Like Syntax for Contracts Joshua Berne 2023-10-05 2023-10 P2935R2 SG21 Contracts
P2959R0 Container Relocation Alisdair Meredith 2023-10-15 2023-10   LEWG Library Evolution
P2961R1 A natural syntax for Contracts Timur Doumler 2023-10-12 2023-10 P2961R0 SG21 Contracts
P2962R0 Communicating the Baseline Compile Command for C++ Modules support Daniel Ruoso 2023-10-13 2023-10   SG15 Tooling
P2967R0 Relocation Is A Library Interface Alisdair Meredith 2023-10-15 2023-10   LEWG Library Evolution
P2971R1 Implication for C++ Walter E Brown 2023-10-14 2023-10 P2971R0 EWG Evolution
P2978R0 A New Approach For Compiling C++ Hassan Sajjad 2023-09-26 2023-10   SG15 Tooling
P2979R0 The Need for Design Policies in WG21 Alisdair Meredith 2023-10-13 2023-10   EWG Evolution,LEWG Library Evolution
P2980R0 A motivation, scope, and plan for a physical quantities and units library Mateusz Pusz 2023-10-15 2023-10   SG6 Numerics,LEWGI SG18: LEWG Incubator,SG23 Safety and Security,LEWG Library Evolution
P2981R0 Improving our safety with a physical quantities and units library Mateusz Pusz 2023-10-15 2023-10   SG23 Safety and Security,LEWG Library Evolution
P2982R0 `std::quantity` as a numeric type Mateusz Pusz 2023-10-15 2023-10   SG6 Numerics,LEWG Library Evolution
P2984R0 Reconsider Redeclaring static constexpr Data Members Alisdair Meredith 2023-10-15 2023-10   EWG Evolution
P2985R0 A type trait for detecting virtual base classes Giuseppe D'Angelo 2023-10-09 2023-10   LEWG Library Evolution
P2986R0 Generic Function Pointer Lauri Vasama 2023-10-14 2023-10   EWG Evolution
P2988R0 std::optional<T&> Steve Downey 2023-10-15 2023-10   LEWG Library Evolution
P2989R0 A Simple Approach to Universal Template Parameters Corentin Jabot 2023-10-14 2023-10   EWG Evolution
P2990R0 C++ Modules Roadmap Daniel Ruoso 2023-10-14 2023-10   SG15 Tooling
P2991R0 Stop Forcing std::move to Pessimize Brian Bi 2023-10-11 2023-10   SG20 Education
P2992R0 Attribute [[discard]] and attributes on expressions Giuseppe D'Angelo 2023-10-10 2023-10   EWGI SG17: EWG Incubator,SG22 Compatability,EWG Evolution
P2994R0 On the Naming of Packs Barry Revzin 2023-10-13 2023-10   EWG Evolution
P2995R0 SG16: Unicode meeting summaries 2023-05-24 through 2023-09-27 Tom Honermann 2023-10-08 2023-10   SG16 Unicode
P2996R0 Reflection for C++26 Barry Revzin 2023-10-15 2023-10   EWG Evolution
P2997R0 Removing the common reference requirement from the indirectly invocable concepts Barry Revzin 2023-10-13 2023-10   SG9 Ranges,LEWG Library Evolution
P2999R0 Sender Algorithm Customization Eric Niebler 2023-10-14 2023-10   LEWG Library Evolution
P3001R0 std::hive and containers like it are not a good fit for the standard library Jonathan Müller 2023-10-15 2023-10   LEWG Library Evolution
P3002R0 Guidelines for allocators in new library classes Pablo Halpern 2023-10-15 2023-10   LEWG Library Evolution
P3003R0 The design of a library of number concepts Johel Ernesto Guerrero Peña 2023-10-14 2023-10   SG6 Numerics
P3008R0 Atomic floating-point min/max Gonzalo Brito Gadeschi 2023-10-15 2023-10   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3009R0 Injected class name in the base specifier list Joe Jevnik 2023-10-12 2023-10   EWG Evolution
P3010R0 Using Reflection to Replace a Metalanguage for Generating JS Bindings Dan Katz 2023-10-13 2023-10   SG7 Reflection
P3011R0 Supporting document for Hive proposal #1: outreach for evidence of container-style use in industry Matt Bentley 2023-10-15 2023-10   SG14 Low Latency,LEWG Library Evolution
P3012R0 Supporting document for Hive proposal #2: use of std::list in open source codebases Matt Bentley 2023-10-14 2023-10   SG14 Low Latency,SG20 Education,LEWG Library Evolution
P3014R0 Customizing std::expected's exception Jonathan Müller 2023-10-14 2023-10   LEWG Library Evolution
P3015R0 Rebuttal to Additional format specifiers for time_point Howard Hinnant 2023-10-13 2023-10   LEWG Library Evolution
P3016R0 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2023-10-15 2023-10   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution
P3018R0 Low-Level Integer Arithmetic Andreas Weis 2023-10-15 2023-10   SG6 Numerics,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3019R0 Vocabulary Types for Composite Class Design Jonathan Coe 2023-10-14 2023-10   LEWG Library Evolution,LWG Library
P3020R0 2023-09 Library Evolution Poll Outcomes Inbal Levi 2023-10-15 2023-10   All of WG21
P3021R0 Unified function call syntax (UFCS) Herb Sutter 2023-10-14 2023-10   EWG Evolution
P3022R0 A Boring Thread Attributes Interface David Sankel 2023-10-14 2023-10   LEWG Library Evolution
P3023R0 C++ Should Be C++ David Sankel 2023-10-14 2023-10   EWG Evolution,LEWG Library Evolution

2023-09 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0843R9 inplace_vector Gonzalo Brito Gadeschi 2023-09-14 2023-09 P0843R8 LEWG Library Evolution,LWG Library
P1068R9 Vector API for random number generation Ilya Burylov 2023-09-14 2023-09 P1068R8 LEWG Library Evolution
P1255R10 A view of 0 or 1 elements: views::maybe Steve Downey 2023-09-14 2023-09 P1255R9 SG9 Ranges,LEWG Library Evolution
P2264R5 Make assert() macro user friendly for C and C++ Peter Sommerlad 2023-09-13 2023-09 P2264R4 LEWG Library Evolution,LWG Library
P2542R4 views::concat Hui Xie 2023-09-11 2023-09 P2542R3 SG9 Ranges,LEWG Library Evolution
P2542R5 views::concat Hui Xie 2023-09-12 2023-09 P2542R4 SG9 Ranges,LEWG Library Evolution,LWG Library
P2686R2 constexpr structured bindings and references to constexpr variables Corentin Jabot 2023-09-14 2023-09 P2686R1 EWG Evolution,CWG Core
P2748R2 Disallow Binding a Returned Glvalue to a Temporary Brian Bi 2023-09-14 2023-09 P2748R1 EWG Evolution
P2755R0 A Bold Plan for a Complete Contracts Facility Joshua Berne, Jake Fevold, John Lakos 2023-09-13 2023-09   SG21 Contracts
P2760R0 A Plan for C++26 Ranges Barry Revzin 2023-09-17 2023-09   SG9 Ranges,LEWG Library Evolution
P2762R1 Sender/Receiver Interface For Networking Dietmar Kuhl 2023-09-15 2023-09 P2762R0 SG4 Networking,LEWG Library Evolution
P2833R2 Freestanding Library: inout expected span Ben Craig 2023-09-13 2023-09 P2833R1 LWG Library
P2846R1 size_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2023-09-15 2023-09 P2846R0 LEWG Library Evolution
P2865R3 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2023-09-14 2023-09 P2865R2 SG22 Compatability,CWG Core
P2866R1 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2023-09-15 2023-09 P2866R0 SG1 Concurrency and Parallelism,SG22 Compatability,LEWG Library Evolution
P2867R1 Remove Deprecated strstreams From C++26 Alisdair Meredith 2023-09-15 2023-09 P2867R0 LEWG Library Evolution
P2868R2 Remove Deprecated `std::allocator` Typedef From C++26 Alisdair Meredith 2023-09-14 2023-09 P2868R1 LEWG Library Evolution
P2869R2 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 Alisdair Meredith 2023-09-15 2023-09 P2869R1 LEWG Library Evolution
P2870R2 Remove `basic_string::reserve()` From C++26 Alisdair Meredith 2023-09-14 2023-09 P2870R1 LEWG Library Evolution
P2871R2 Remove Deprecated Unicode Conversion Facets From C++26 Alisdair Meredith 2023-09-15 2023-09 P2871R1 LEWG Library Evolution
P2872R2 Remove `wstring_convert` From C++26 Alisdair Meredith 2023-09-14 2023-09 P2872R1 LEWG Library Evolution
P2875R2 Undeprecate `polymorphic_allocator::destroy` For C++26 Alisdair Meredith 2023-09-15 2023-09 P2875R1 LEWG Library Evolution
P2885R2 Requirements for a Contracts syntax Timur Doumler 2023-08-29 2023-09 P2885R1 SG21 Contracts,EWG Evolution
P2909R1 Fix formatting of code units as integers (Dude, where's my char?) Victor Zverovich 2023-09-05 2023-09 P2909R0 LEWG Library Evolution
P2909R2 Fix formatting of code units as integers (Dude, where's my char?) Victor Zverovich 2023-09-16 2023-09 P2909R1 LWG Library
P2932R0 A Principled Approach to Open Design Questions for Contracts Joshua Berne 2023-09-13 2023-09   SG21 Contracts
P2935R1 An Attribute-Like Syntax for Contracts Joshua Berne 2023-09-15 2023-09 P2935R0 SG21 Contracts
P2935R2 An Attribute-Like Syntax for Contracts Joshua Berne 2023-09-15 2023-09 P2935R1 SG21 Contracts
P2944R2 Comparisons for reference_wrapper Barry Revzin 2023-09-17 2023-09 P2944R1 LEWG Library Evolution
P2951R3 Shadowing is good for safety Jarrad J. Waterloo 2023-09-02 2023-09 P2951R2 SG23 Safety and Security
P2955R1 Safer Range Access Jarrad J. Waterloo 2023-09-02 2023-09 P2955R0 LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P2961R0 A natural syntax for Contracts Jens Maurer 2023-09-17 2023-09   SG21 Contracts
P2963R0 Ordering of constraints involving fold expressions Corentin Jabot 2023-09-15 2023-09   EWG Evolution
P2966R0 Making C++ Better for Game Developers -- Progress Report Patrice Roy 2023-09-05 2023-09   SG14 Low Latency,EWG Evolution
P2966R1 Making C++ Better for Game Developers -- Progress Report Patrice Roy 2023-09-13 2023-09 P2966R0 SG14 Low Latency,EWG Evolution
P2968R0 Make std::ignore a first-class object Peter Sommerlad 2023-09-07 2023-09   LEWG Library Evolution,LWG Library
P2971R0 Implication for C++ Walter E Brown 2023-09-14 2023-09   EWG Evolution
P2972R0 2023-09 Library Evolution Polls Inbal Levi 2023-09-17 2023-09   LEWG Library Evolution,LWG Library
P2973R0 Erroneous behaviour for missing return from assignment Thomas Köppe 2023-09-15 2023-09   SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core
P2976R0 Freestanding Library: algorithm, numeric, and random Ben Craig 2023-09-17 2023-09   LEWG Library Evolution

2023-08 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4956 Concurrency TS2 PDTS Michael Wong 2023-08-15 2023-08   All of WG21
N4958 Working Draft, Programming Languages -- C++ Thomas Köppe 2023-08-14 2023-08   All of WG21
N4959 Editors' Report, Programming Languages -- C++ Thomas Köppe 2023-08-14 2023-08   All of WG21
N4960 Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++) Herb Sutter 2023-08-09 2023-08   All of WG21
P0124R7 Linux-Kernel Memory Model Paul E. McKenney 2023-08-22 2023-08 P0124R6 SG1 Concurrency and Parallelism,SG5 Transactional Memory,SG14 Low Latency
P0124R8 Linux-Kernel Memory Model Paul E. McKenney 2023-08-22 2023-08 P0124R7 SG1 Concurrency and Parallelism,SG5 Transactional Memory,SG14 Low Latency
P0963R1 Structured binding declaration as a condition Zhihao Yuan 2023-08-14 2023-08 P0963R0 EWG Evolution
P1068R8 Vector API for random number generation Ilya Burylov 2023-08-08 2023-08 P1068R7 LEWG Library Evolution
P1967R11 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2023-08-21 2023-08 P1967R10 CWG Core
P2407R5 Freestanding Library: Partial Classes Ben Craig 2023-07-26 2023-08 P2407R4 LWG Library
P2521R5 Contract support -- Record of SG21 consensus Andrzej Krzemieński 2023-08-15 2023-08 P2521R4 SG21 Contracts
P2728R6 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-08-14 2023-08 P2728R5 SG16 Unicode,LEWG Library Evolution
P2746R3 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2023-08-14 2023-08 P2746R2 SG6 Numerics,LEWG Library Evolution
P2795R3 Erroneous behaviour for uninitialized reads Thomas Köppe 2023-07-28 2023-08 P2795R2 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core
P2821R4 span.at() Jarrad J. Waterloo 2023-07-26 2023-08 P2821R3 SG23 Safety and Security,LEWG Library Evolution
P2833R1 Freestanding Library: inout expected span Ben Craig 2023-08-19 2023-08 P2833R0 LEWG Library Evolution
P2845R2 Formatting of std::filesystem::path Victor Zverovich 2023-07-23 2023-08 P2845R1 SG16 Unicode,LEWG Library Evolution
P2863R1 Review Annex D for C++26 Alisdair Meredith 2023-08-16 2023-08 P2863R0 EWG Evolution,LEWG Library Evolution
P2864R1 Remove Deprecated Arithmetic Conversion on Enumerations From C++26 Alisdair Meredith 2023-08-16 2023-08 P2864R0 SG22 Compatability,EWG Evolution
P2865R2 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2023-08-16 2023-08 P2865R1 SG22 Compatability,EWG Evolution
P2868R1 Remove Deprecated `std::allocator` Typedef From C++26 Alisdair Meredith 2023-08-15 2023-08 P2868R0 LEWG Library Evolution
P2869R1 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 Alisdair Meredith 2023-08-16 2023-08 P2869R0 LEWG Library Evolution
P2870R1 Remove `basic_string::reserve()` From C++26 Alisdair Meredith 2023-08-16 2023-08 P2870R0 LEWG Library Evolution
P2871R1 Remove Deprecated Unicode Conversion Facets From C++26 Alisdair Meredith 2023-08-08 2023-08 P2871R0 LEWG Library Evolution
P2875R1 Undeprecate `polymorphic_allocator::destroy` For C++26 Alisdair Meredith 2023-08-15 2023-08 P2875R0 LEWG Library Evolution
P2878R5 Reference checking Jarrad J. Waterloo 2023-08-10 2023-08 P2878R4 SG23 Safety and Security
P2885R1 Requirements for a Contracts syntax Timur Doumler 2023-08-15 2023-08 P2885R0 SG21 Contracts,EWG Evolution
P2890R0 Contracts on lambdas Timur Doumler 2023-08-17 2023-08   SG21 Contracts
P2894R0 Constant evaluation of Contracts Timur Doumler 2023-08-22 2023-08   SG21 Contracts
P2896R0 Outstanding design questions for the Contracts MVP Timur Doumler 2023-08-22 2023-08   SG21 Contracts
P2905R2 Runtime format strings Victor Zverovich 2023-07-23 2023-08 P2905R1 LWG Library
P2909R0 Dude, where's my char? Victor Zverovich 2023-08-13 2023-08   SG16 Unicode,LEWG Library Evolution
P2933R0 std::simd overloads for <bit> header Daniel Towner 2023-08-01 2023-08   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2935R0 An Attribute-Like Syntax for Contracts Joshua Berne 2023-08-15 2023-08   SG21 Contracts
P2944R1 Comparisons for reference_wrapper Barry Revzin 2023-08-17 2023-08 P2944R0 LEWG Library Evolution
P2951R2 Shadowing is good for safety Jarrad J. Waterloo 2023-08-10 2023-08 P2951R1 SG23 Safety and Security
P2952R0 auto& operator=(X&&) = default Arthur O'Dwyer 2023-08-10 2023-08   EWGI SG17: EWG Incubator,EWG Evolution
P2953R0 Forbid defaulting operator=(X&&) && Arthur O'Dwyer 2023-08-10 2023-08   EWGI SG17: EWG Incubator,EWG Evolution
P2954R0 Contracts and virtual functions for the Contracts MVP Ville Voutilainen 2023-08-03 2023-08   SG21 Contracts
P2955R0 Safer Range Access Jarrad J. Waterloo 2023-08-10 2023-08   SG23 Safety and Security
P2956R0 Add saturating library support to std::simd Daniel Towner 2023-08-01 2023-08   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2957R0 Contracts and coroutines Andrzej Krzemieński 2023-08-15 2023-08   SG21 Contracts
P2958R0 typeof and typeof_unqual JeanHeyd Meneide 2023-08-21 2023-08   EWG Evolution
P2960R0 Concurrency TS Editor's report for N4956 Michael Wong 2023-08-16 2023-08   All of WG21