<![CDATA[Standard C++ | Standardization]]> http://isocpp.org/blog en Copyright 2025 2025-09 Mailing Available https://isocpp.org//blog/2025/09/2025-09-mailing-available https://isocpp.org//blog/2025/09/2025-09-mailing-available The 2025-09 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N5020 2026-11 Rio De Janeiro, Brazil Matheus Izvekov 2025-09-10 2025-09 All of WG21
P2953R2 Forbid defaulting operator=(X&&) && Arthur O'Dwyer 2025-09-02 2025-09 P2953R1 EWGI SG17: EWG Incubator
P3347R5 Invalid/Prospective Pointer Operations Paul E. McKenney 2025-08-27 2025-09 P3347R4 CWG Core
P3567R1 `flat_meow` Fixes Hui Xie 2025-09-06 2025-09 P3567R0 LWG Library
P3579R2 Fix matching of constant template parameters when matching template template parameters Matheus Izvekov 2025-09-10 2025-09 P3579R1 CWG Core
P3612R0 Harmonize proxy-reference operations (LWG 3638 and 4187) Arthur O'Dwyer 2025-09-02 2025-09 LWG Library
P3666r0 Bit-precise integers Jan Schultke 2025-09-11 2025-09 SG6 Numerics,SG22 Compatibility,EWG Evolution,LEWG Library Evolution
P3688R3 ASCII character utilities Jan Schultke 2025-09-09 2025-09 P3688R2 SG16 Unicode
P3695R1 Deprecate implicit conversions between Unicode character types Jan Schultke 2025-09-09 2025-09 P3695R0 SG16 Unicode,EWG Evolution
P3702R2 Stricter requirements for document submissions (SD-7) Jan Schultke 2025-09-10 2025-09 P3702R1 All of WG21
P3754R1 Slides for P3100R2 presentation to EWG Timur Doumler 2025-08-21 2025-09 P3754R0 EWG Evolution
P3776R0 More trailing commas Jan Schultke 2025-08-26 2025-09 EWG Evolution
P3776R1 More trailing commas Jan Schultke 2025-09-09 2025-09 P3776R0 EWG Evolution
P3784R1 range-if Michael Florian Hava 2025-09-10 2025-09 P3784R0 EWGI SG17: EWG Incubator
P3786R0 Tuple protocol for fixed-size spans Michael Florian Hava 2025-08-21 2025-09 LEWG Library Evolution
P3811R0 default comparison memory safety Jarrad J Waterloo 2025-08-15 2025-09 SG23 Safety and Security
P3812R0 const and & in default member functions Jarrad J Waterloo 2025-08-16 2025-09 EWG Evolution,CWG Core
P3813R0 execution::task::valueless() Michael Florian Hava 2025-09-10 2025-09 LEWG Library Evolution
P3815R0 Add scope_association concept to P3149 Jessica Wong 2025-09-01 2025-09 All of WG21
P3816R0 Hashing meta::info Matt Cummins 2025-09-01 2025-09 SG7 Reflection,LEWG Library Evolution,LWG Library,All of WG21
P3818R0 constexpr exception fix for potentially constant initialization Hana Dusíková 2025-08-31 2025-09 LEWG Library Evolution
P3818R1 constexpr exception fix for potentially constant initialization Hana Dusíková 2025-09-09 2025-09 P3818R0 LEWG Library Evolution
P3819R0 Remove evaluation_exception() from contract-violation handling for C++26 Peter Bindels 2025-09-05 2025-09 LEWG Library Evolution
P3820R0 Split constexpr uncaught_exceptions into distinct runtime and consteval functions Lénárd Szolnoki 2025-08-31 2025-09 LEWG Library Evolution
P3820R1 Fix constexpr uncaught_exceptions and current_exception Lénárd Szolnoki 2025-09-06 2025-09 P3820R0 LEWG Library Evolution
P3822R0 Conditional noexcept specifiers in compound requirements Viacheslav Luchkin 2025-09-01 2025-09 EWGI SG17: EWG Incubator,EWG Evolution
P3823R0 Wording for US NB comment 10 Arthur O'Dwyer 2025-09-10 2025-09 EWG Evolution
P3824R0 Static storage for braced initializers NBC examples Jarrad J Waterloo 2025-09-06 2025-09 SG23 Safety and Security,CWG Core
P3827R0 Wording for US NB comment 9 Arthur O'Dwyer 2025-09-10 2025-09 EWG Evolution
P3829R0 Contracts do not belong in the language David Chisnall 2025-09-03 2025-09 EWG Evolution,CWG Core,LWG Library
P3830R0 NB-Commenting is Not a Vehicle for Redesigning inplace_vector Nevin Liber 2025-09-03 2025-09 LEWG Library Evolution
P3831R0 Contract Labels Should Use Annotation Syntax Yihe Li 2025-09-06 2025-09 SG21 Contracts
P3832R0 Timed lock algorithms for multiple lockables Ted Lyngmo 2025-09-06 2025-09 LEWGI SG18: LEWG Incubator
P3834R0 Defaulting the Compound Assignment Operators Matthew Taylor 2025-09-10 2025-09 EWGI SG17: EWG Incubator
P3835R0 Contracts make C++ less safe -- full stop John Spicer 2025-09-08 2025-09 EWG Evolution,CWG Core,LWG Library
P3836R0 Make optional<T&> trivially copyable Jan Schultke 2025-09-11 2025-09 LEWG Library Evolution
P3838R0 Restoring Private Module Fragments Alisdair Meredith 2025-09-10 2025-09 CWG Core
]]>
Thu, 11 Sep 2025 18:09:16 +0000 Administrator
2025-08 Mailing Available https://isocpp.org//blog/2025/08/2025-08-mailing-available https://isocpp.org//blog/2025/08/2025-08-mailing-available The 2025-08 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N5013 Programming Languages - C++ Thomas Köppe 2025-08-11 2025-08   All of WG21
N5014 Working Draft, Standard for Programming Language C++ Thomas Köppe 2025-08-05 2025-08   All of WG21
N5015 Editors' Report - Programming Languages - C++ Thomas Köppe 2025-08-14 2025-08   All of WG21
N5019 Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++) Herb Sutter 2025-08-05 2025-08   All of WG21
P2414R10 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-08-08 2025-08 P2414R9 EWG Evolution,LEWG Library Evolution
P2843R3 Preprocessing is never undefined Alisdair Meredith 2025-07-18 2025-08 P2843R2 CWG Core
P3100R4 Implicit contract assertions Timur Doumler 2025-08-13 2025-08 P3100R3 EWG Evolution
P3337R0 Graph Library: Library Comparisons Phil Ratzloff 2025-07-30 2025-08   SG19 Machine Learning
P3347R4 Invalid/Prospective Pointer Operations Paul E. McKenney 2025-08-08 2025-08 P3347R3 CWG Core
P3427R2 Hazard Pointer Synchronous Reclamation Maged Michael 2025-08-11 2025-08 P3427R1 LEWG Library Evolution
P3428R2 Hazard Pointer Batches Maged Michael 2025-08-11 2025-08 P3428R1 LEWG Library Evolution
P3643R1 std::to_signed and std::to_unsigned Jan Schultke 2025-08-13 2025-08 P3643R0 LEWG Library Evolution
P3688R2 ASCII character utilities Jan Schultke 2025-08-14 2025-08 P3688R1 SG16 Unicode
P3692R2 How to Avoid OOTA Without Really Trying Paul E. McKenney 2025-08-08 2025-08 P3692R1 SG1 Concurrency and Parallelism
P3702R1 Stricter requirements for document submissions (SD-7) Jan Schultke 2025-08-14 2025-08 P3702R0 All of WG21
P3719R1 std::is_vector_bool_reference Yuxuan Chen 2025-08-01 2025-08 P3719R0 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3739R2 Standard Library Hardening - using std::optional Jarrad J Waterloo 2025-08-10 2025-08 P3739R1 LWG Library
P3774R1 Rename std::nontype, and make it broadly useful Jan Schultke 2025-08-14 2025-08 P3774R0 LEWG Library Evolution
P3775R0 Slides for P3774R0 - Rename std::nontype Jan Schultke 2025-08-12 2025-08   LEWG Library Evolution
P3779R0 reserve() and capacity() for flat containers Nicolai Josuttis 2025-08-01 2025-08   LEWG Library Evolution,LWG Library
P3790R1 Pointer lifetime-end zap proposed solutions: Bag-of-bits pointer class Paul E. McKenney 2025-08-08 2025-08 P3790R0 LEWG Library Evolution
P3796R1 Coroutine Task Issues Dietmar Kühl 2025-08-15 2025-08 P3796R0 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3798R1 The unexpected in std::expected Alex Kremer 2025-08-12 2025-08 P3798R0 SG10 Feature Test,LEWG Library Evolution,LWG Library
P3806R0 views::cycle Hewill Kang 2025-08-03 2025-08   SG9 Ranges,LEWG Library Evolution,LWG Library
P3809R0 Should we make std::linalg reductions deduce return types like fold algorithms? Mark Hoemmen 2025-08-07 2025-08   LEWG Library Evolution
P3810R0 hardened memory safety guarantees Jarrad J Waterloo 2025-08-14 2025-08   SG23 Safety and Security
]]>
Sat, 16 Aug 2025 00:34:07 +0000 Administrator
2025-07 Mailing Available https://isocpp.org//blog/2025/07/2025-07-mailing-available https://isocpp.org//blog/2025/07/2025-07-mailing-available The 2025-07 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N5012 WG21 2025-06 Sofia Admin telecon minutes Nina Ranns 2025-06-08 2025-07 All of WG21
N5016 WG21 June 2025 Sofia Hybrid meeting Minutes of Meeting Nina Ranns 2025-07-08 2025-07 All of WG21
P0085R2 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-06-06 2025-07 P0085R1 EWG Evolution,LEWG Library Evolution
P0085R3 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-07-01 2025-07 P0085R2 EWG Evolution
P0085R3 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-07-01 2025-07 P0085R2 EWG Evolution
P0085R3 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-07-01 2025-07 P0085R2 EWG Evolution
P0085R3 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-07-01 2025-07 P0085R2 EWG Evolution
P0085R3 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-07-01 2025-07 P0085R2 CWG Core
P0260R18 C++ Concurrent Queues Detlef Vollmann 2025-06-17 2025-07 P0260R17 LWG Library
P0260R19 C++ Concurrent Queues Detlef Vollmann 2025-06-18 2025-07 P0260R18 LWG Library
P0870R6 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2025-06-17 2025-07 P0870R5 SG6 Numerics,LEWG Library Evolution,LWG Library
P0870R7 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2025-06-17 2025-07 P0870R6 SG6 Numerics,LEWG Library Evolution,LWG Library
P0876R21 fiber_context - fibers without scheduler Oliver Kowalke 2025-07-13 2025-07 P0876R20 CWG Core,LWG Library
P1040R8 std::embed and #depend JeanHeyd Meneide 2025-06-22 2025-07 P1040R7 EWG Evolution
P1306R5 Expansion statements Dan Katz 2025-06-20 2025-07 P1306R4 All of WG21
P2079R10 Parallel Scheduler Lucian Radu Teodorescu 2025-06-25 2025-07 P2079R9 LWG Library
P2079R9 Parallel Scheduler Lucian Radu Teodorescu 2025-06-26 2025-07 P2079R8 LWG Library
P2319R5 Prevent path presentation problems Victor Zverovich 2025-06-17 2025-07 P2319R4 LWG Library
P2414R8 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-06-18 2025-07 P2414R7 LEWG Library Evolution,LWG Library
P2414R9 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-07-11 2025-07 P2414R8 EWG Evolution,LEWG Library Evolution
P2664R11 Proposal to extend std::simd with permutation API Daniel Towner 2025-06-20 2025-07 P2664R10 LWG Library
P2781R9 std::constexpr_wrapper Zach Laine 2025-06-17 2025-07 P2781R8 LWG Library
P2876R3 Proposal to extend std::simd with more constructors and accessors Daniel Towner 2025-06-17 2025-07 P2876R2 LWG Library
P2929R1 simd_invoke Daniel Towner 2025-06-19 2025-07 P2929R0 LEWG Library Evolution
P2996R13 Reflection for C++26 Barry Revzin 2025-06-20 2025-07 P2996R12 CWG Core,LWG Library
P3008R6 Atomic floating-point min/max Gonzalo Brito Gadeschi 2025-06-19 2025-07 P3008R5 LWG Library
P3044R2 sub-string_view from string Michael Florian Hava 2025-06-19 2025-07 P3044R1 LWG Library
P3045R6 Quantities and units library Mateusz Pusz 2025-06-19 2025-07 P3045R5 SG6 Numerics,SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3060R3 Add std::views::indices(n) Weile Wei 2025-06-18 2025-07 P3060R2 LWG Library
P3091R4 Better lookups for `map` , `unordered_map`, and `flat_map` Pablo Halpern 2025-06-20 2025-07 P3091R3 LEWG Library Evolution,LWG Library
P3096R10 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-06-17 2025-07 P3096R9 CWG Core,LWG Library
P3096R11 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-06-19 2025-07 P3096R10 EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3096R12 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-06-20 2025-07 P3096R11 CWG Core,LWG Library
P3100R3 Implicit contract assertions Timur Doumler 2025-07-03 2025-07 P3100R2 EWG Evolution
P3104R4 Bit permutations Jan Schultke 2025-06-28 2025-07 P3104R3 SG6 Numerics,LWG Library
P3111R7 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-06-18 2025-07 P3111R6 CWG Core,LWG Library
P3111R8 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-06-19 2025-07 P3111R7 LWG Library
P3149R11 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2025-06-19 2025-07 P3149R10 LWG Library
P3179R9 C++ parallel range algorithms Ruslan Arutyunyan 2025-05-28 2025-07 P3179R8 LWG Library
P3211R1 views::flat_map Hewill Kang 2025-07-04 2025-07 P3211R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P3216R1 views::slice Hewill Kang 2025-06-28 2025-07 P3216R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P3220R1 views::take_before Hewill Kang 2025-06-23 2025-07 P3220R0 SG9 Ranges,LEWG Library Evolution,LWG Library,Direction Group
P3223R2 Making std::istream::ignore less surprising Jonathan Wakely 2025-06-20 2025-07 P3223R1 LWG Library
P3248R4 Require [u]intptr_t Gonzalo Brito Gadeschi 2025-06-19 2025-07 P3248R3 LWG Library
P3290R3 Integrating Existing Assertions With Contracts Joshua Berne 2025-07-11 2025-07 P3290R2 SG22 Compatibility,LEWG Library Evolution
P3293R3 Splicing a base class subobject Barry Revzin 2025-06-20 2025-07 P3293R2 CWG Core,LWG Library
P3347R3 Invalid/Prospective Pointer Operations Paul E. McKenney 2025-07-11 2025-07 P3347R2 CWG Core
P3348R4 C++26 should refer to C23 not C17 Jonathan Wakely 2025-06-19 2025-07 P3348R3 SG6 Numerics,LWG Library
P3383R3 mdspan.at() Stephan Lachnit 2025-06-17 2025-07 P3383R2 LWG Library
P3394R4 Annotations for Reflection Daveed Vandevoorde 2025-06-20 2025-07 P3394R3 All of WG21
P3411R3 `any_view` Hui Xie 2025-06-18 2025-07 P3411R2 SG9 Ranges,LEWG Library Evolution
P3433R1 Allocator Support for Operation States Dietmar Kuehl 2025-06-19 2025-07 P3433R0 LWG Library
P3439R3 Chained comparisons: Safe, correct, efficient Herb Sutter 2025-06-19 2025-07 P3439R2 EWG Evolution
P3440R1 Add n_elements named constructor to std::simd Daniel Towner 2025-06-13 2025-07 P3440R0 LEWG Library Evolution
P3480R6 std::simd is a range Matthias Kretz 2025-06-17 2025-07 P3480R5 LWG Library
P3481R4 std::execution::bulk() issues Lucian Radu Teodorescu 2025-06-17 2025-07 P3481R3 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3481R5 std::execution::bulk() issues Lucian Radu Teodorescu 2025-06-18 2025-07 P3481R4 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3491R3 define_static_{string,object,array} Barry Revzin 2025-06-20 2025-07 P3491R2 CWG Core,LWG Library
P3503R3 Make type-erased allocator use in promise and packaged_task consistent Nicolas Morales 2025-06-19 2025-07 P3503R2 LWG Library
P3540R2 #embed Parameter offset JeanHeyd Meneide 2025-06-05 2025-07 P3540R1 CWG Core
P3552R3 Add a Coroutine Task Type Dietmar Kühl 2025-06-20 2025-07 P3552R2 All of WG21
P3557R3 High-Quality Sender Diagnostics with Constexpr Exceptions Eric Niebler 2025-07-04 2025-07 P3557R2 LWG Library
P3560R2 Error Handling in Reflection Barry Revzin 2025-06-20 2025-07 P3560R1 LWG Library
P3566R2 You shall not pass `char*` - Safety concerns working with unbounded null-terminated strings Marco Foco, Joshua Kriegshauser, Alexey Shevlyakov, Giuseppe D'Angelo 2025-06-15 2025-07 P3566R1 LEWGI SG18: LEWG Incubator,SG23 Safety and Security,LEWG Library Evolution
P3566R2 You shall not pass `char*` - Safety concerns working with unbounded null-terminated strings Marco Foco, Joshua Kriegshauser, Alexey Shevlyakov, Giuseppe D'Angelo 2025-06-15 2025-07 P3566R1 LEWGI SG18: LEWG Incubator,SG23 Safety and Security,LEWG Library Evolution
P3570R2 optional variants in sender/receiver Fabio Fracassi 2025-06-18 2025-07 P3570R1 LWG Library
P3601R0 Slides for P3407R1 Brian Bi 2025-06-17 2025-07 EWG Evolution
P3642R1 Carry-less product: std::clmul Jan Schultke 2025-06-03 2025-07 P3642R0 SG6 Numerics,LEWGI SG18: LEWG Incubator
P3642R2 Carry-less product: std::clmul Jan Schultke 2025-07-02 2025-07 P3642R1 LEWG Library Evolution
P3647R0 Slides for P3642R1 Jan Schultke 2025-06-18 2025-07 SG6 Numerics,LEWGI SG18: LEWG Incubator
P3655R2 zstring_view Peter Bindels 2025-06-15 2025-07 P3655R1 LEWG Library Evolution
P3663R2 Future-proof `submdspan-mapping` Mark Hoemmen 2025-07-13 2025-07 P3663R1 LWG Library
P3668R2 Defaulting Postfix Increment and Decrement Operations Matthew Taylor 2025-07-13 2025-07 P3668R1 CWG Core
P3669R2 Non-Blocking Support for `std::execution` Detlef Vollmann 2025-06-19 2025-07 P3669R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3687R1 Final Adjustments to C++26 Reflection Dan Katz 2025-06-18 2025-07 P3687R0 EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3688R1 ASCII character utilities Jan Schultke 2025-06-28 2025-07 P3688R0 SG16 Unicode
P3690R1 Consistency fix: Make simd reductions SIMD-generic Olaf Krzikalla 2025-06-17 2025-07 P3690R0 LWG Library
P3691R1 Reconsider naming of the namespace for "std::simd" Matthias Kretz 2025-06-16 2025-07 P3691R0 LWG Library
P3692R1 How to Avoid OOTA Without Really Trying Paul E. McKenney 2025-07-10 2025-07 P3692R0 SG1 Concurrency and Parallelism
P3697R1 Minor additions to C++26 standard library hardening Konstantin Varlamov 2025-06-20 2025-07 P3697R0 LEWG Library Evolution,LWG Library
P3699R1 Rename `conqueue_errc` Detlef Vollmann 2025-06-16 2025-07 P3699R0 LEWG Library Evolution
P3705R1 A Sentinel for Null-Terminated Strings Eddie Nolan 2025-06-18 2025-07 P3705R0 SG9 Ranges,LEWG Library Evolution
P3705R2 A Sentinel for Null-Terminated Strings Eddie Nolan 2025-06-18 2025-07 P3705R1 SG9 Ranges,LEWG Library Evolution
P3709R1 Reconsider parallel ranges::rotate_copy and ranges::reverse_copy Ruslan Arutyunyan 2025-06-02 2025-07 P3709R0 SG9 Ranges,LEWG Library Evolution
P3709R2 Reconsider parallel ranges::rotate_copy and ranges::reverse_copy Ruslan Arutyunyan 2025-06-17 2025-07 P3709R1 SG9 Ranges,LEWG Library Evolution
P3711R1 Safer StringViewLike Functions for Replacing char* strings Marco Foco 2025-06-19 2025-07 P3711R0 SG23 Safety and Security,LEWG Library Evolution
P3713R0 2025-05 Library Evolution Poll Outcomes Inbal Levi 2025-07-15 2025-07 All of WG21
P3718R0 Fixing Lazy Sender Algorithm Customization, Again Eric Niebler 2025-06-28 2025-07 LEWG Library Evolution,LWG Library
P3719R0 std::is_vector_bool_reference Yuxuan Chen 2025-05-20 2025-07 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3721R0 Slides for P3639R0 Jan Schultke 2025-06-03 2025-07 SG22 Compatibility
P3722R0 Slides for P3568R1 Jan Schultke 2025-05-27 2025-07 SG22 Compatibility
P3724R0 Integer division Jan Schultke 2025-06-05 2025-07 SG6 Numerics,LEWG Library Evolution
P3725R0 Filter View Extensions for Input Ranges Nicolai Josuttis 2025-06-19 2025-07 SG9 Ranges,LEWG Library Evolution,LWG Library
P3725R1 Filter View Extensions for Input Ranges Nicolai Josuttis 2025-06-23 2025-07 P3725R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P3726R0 Adjustments to Union Lifetime Rules Barry Revzin 2025-07-13 2025-07 EWG Evolution,CWG Core
P3727R0 Update Annex E based on Unicode 15.1 UAX #31 Steve Downey 2025-06-11 2025-07 SG16 Unicode,CWG Core
P3729R0 Aligning span and string_view Michael Florian Hava 2025-06-23 2025-07 LEWG Library Evolution
P3730R0 Slides for P3104R3 Jan Schultke 2025-06-04 2025-07 LEWG Library Evolution
P3731R0 #embed Preprocessor Parameter Order JeanHeyd Meneide 2025-06-05 2025-07 SG22 Compatibility,EWG Evolution
P3732R0 Numeric Range Algorithms Ruslan Arutyunyan 2025-06-27 2025-07 SG1 Concurrency and Parallelism,SG9 Ranges
P3733R0 More named universal character escapes Jan Schultke 2025-06-28 2025-07 SG16 Unicode
P3734R0 Not all predicates must be regular Jan Schultke 2025-06-14 2025-07 SG9 Ranges
P3735R0 partial_sort_n, nth_element_n Jan Schultke 2025-06-28 2025-07 SG9 Ranges
P3736R0 Slides against P2971R3 - No implication for C++ Jan Schultke 2025-06-27 2025-07 EWG Evolution
P3737R0 std::array is a wrapper for an array! Jan Schultke 2025-06-11 2025-07 LEWG Library Evolution
P3738R0 Make std::make_from_tuple SFINAE friendly Yihan Wang 2025-06-10 2025-07 LEWG Library Evolution
P3739R0 Standard Library Hardening - using std::optional Jarrad J Waterloo 2025-06-10 2025-07 LWG Library
P3739R1 Standard Library Hardening - using std::optional Jarrad J Waterloo 2025-06-10 2025-07 P3739R0 LWG Library
P3740R0 Last chance to fix std::nontype Jan Schultke 2025-06-14 2025-07 LEWG Library Evolution
P3740R1 Last chance to fix std::nontype Jan Schultke 2025-06-19 2025-07 P3740R0 LEWG Library Evolution
P3741R0 views::set_operations Hewill Kang 2025-06-21 2025-07 SG9 Ranges
P3742R0 C++ Standard Library Ready Issues to be moved in Sofia, Jun. 2025 Jonathan Wakely 2025-06-13 2025-07 All of WG21
P3745R0 Rebuttal to P1144R13 Pablo Halpern 2025-07-02 2025-07 EWG Evolution,LEWG Library Evolution
P3746R0 LEWG Slides for P3637R0 Inherit std::meta::exception from std::exception Nevin Liber 2025-06-16 2025-07 LEWG Library Evolution
P3747R0 Call side return type deduction Thomas Mejstrik 2025-06-17 2025-07 EWGI SG17: EWG Incubator
P3748R0 Inspecting exception_ptr works should be constexpr. Hana Dusíková 2025-06-18 2025-07 LEWG Library Evolution
P3749R0 Slides in response to P3655R2 - Concerns regarding std::zstring_view Jan Schultke 2025-06-27 2025-07 LEWG Library Evolution
P3752R0 Core Language Working Group "ready" Issues for the June, 2025 meeting Jens Maurer 2025-06-20 2025-07 CWG Core
P3753R0 Slides for P3740R0 - Last chance to fix std::nontype Jan Schultke 2025-06-20 2025-07 LEWG Library Evolution
P3753R1 Slides for P3740R1 - Last chance to fix std::nontype Jan Schultke 2025-06-20 2025-07 P3753R0 LEWG Library Evolution
P3754R0 Slides for P3100R2 presentation to EWG Timur Doumler 2025-06-20 2025-07 EWG Evolution
P3757R0 Remove value-type invocability requirement from indirect unary callable concepts Hewill Kang 2025-06-21 2025-07 SG9 Ranges,LEWG Library Evolution,LWG Library
P3760R0 Presentation: constexpr 'Parallel' Algorithms Oliver Rosten 2025-06-21 2025-07 LEWG Library Evolution
P3763R0 Remove redundant reserve_hint members from view classes Hewill Kang 2025-06-21 2025-07 SG9 Ranges,LEWG Library Evolution,LWG Library
P3764R0 A utility function for propagating the most significant bit Jan Schultke 2025-07-15 2025-07 SG6 Numerics
P3765R0 Deprecate implicit conversion from bool to character types Jan Schultke 2025-07-12 2025-07 EWG Evolution
P3769R0 Clarification of placement new deallocation Lauri Vasama 2025-06-22 2025-07 EWG Evolution,CWG Core
P3771R0 constexpr mutex, locks, and condition variable Hana Dusíková 2025-06-30 2025-07 SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P3772R0 std::simd overloads for bit permutations Jan Schultke 2025-06-28 2025-07 SG6 Numerics
P3774R0 Rename std::nontype, and make it broadly useful Jan Schultke 2025-07-15 2025-07 LEWG Library Evolution
P3778R0 Fixing `type_order` template definition Gašper Ažman 2025-07-03 2025-07 LEWG Library Evolution,LWG Library
P3780R0 Detecting bitwise trivially relocatable types Giuseppe D'Angelo 2025-07-10 2025-07 EWG Evolution,LEWG Library Evolution
P3781R0 is_*_type should imply is_type Xavier Bonaventura 2025-07-05 2025-07 SG20 Education,EWG Evolution
P3784R0 range-if Michael Florian Hava 2025-07-10 2025-07 EWGI SG17: EWG Incubator
P3785R0 Library Wording Changes for Defaulted Postfix Increment and Decrement Operators Matthew Taylor 2025-07-13 2025-07 LWG Library
P3787R0 Adjoints to "Enabling list-initialization for algorithms": uninitialized_fill Giuseppe D'Angelo 2025-07-10 2025-07 LEWG Library Evolution,LWG Library
P3788R0 Fixing `std::complex` binary operators Mateusz Pusz 2025-07-11 2025-07 SG6 Numerics,LEWG Library Evolution
P3790R0 Pointer lifetime-end zap proposed solutions: Bag-of-bits pointer class Paul E. McKenney 2025-07-13 2025-07 LEWG Library Evolution
P3791R0 constexpr deterministic random Hana Dusíková 2025-07-15 2025-07 LEWG Library Evolution
P3792R0 Why `constant_wrapper` is not a usable replacement for `nontype` Bronek Kozicki 2025-07-13 2025-07 LEWG Library Evolution,LWG Library
P3793R0 Better shifting Brian Bi 2025-07-15 2025-07 SG6 Numerics
P3794R0 An idea or two on renaming the nontype tag Zhihao Yuan 2025-07-13 2025-07 LEWG Library Evolution
P3795R0 Miscellaneous Reflection Cleanup Barry Revzin 2025-07-15 2025-07 EWG Evolution
P3796R0 Coroutine Task Issues Dietmar Kühl 2025-07-15 2025-07 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3798R0 The unexpected in std::expected Alex Kremer 2025-07-14 2025-07 LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P3799R0 2025-07 Library Evolution Polls Inbal Levi 2025-07-15 2025-07 LEWG Library Evolution
P3801R0 Concerns about the design of std::execution::task Jonathan Müller 2025-07-15 2025-07 LEWG Library Evolution
P3802R0 Poor Functions Daveed Vandevoorde 2025-07-15 2025-07 EWG Evolution,LEWG Library Evolution
]]>
Wed, 16 Jul 2025 00:33:20 +0000 Administrator
Reflection voted into C++26: "Whole new language" -- Herb Sutter https://isocpp.org//blog/2025/06/reflection-voted-into-cpp26-whole-new-language-herb-sutter https://isocpp.org//blog/2025/06/reflection-voted-into-cpp26-whole-new-language-herb-sutter The first trip report from the Sofia meeting is available:

Trip report: June 2025 ISO C++ standards meeting (Sofia, Bulgaria)

by Herb Sutter

From the article:

c26-reflection.pngA unique milestone: “Whole new language”

Today marks a turning point in C++: A few minutes ago, the C++ committee voted the first seven (7) papers for compile-time reflection into draft C++26 to several sustained rounds of applause in the room. I think Hana “Ms. Constexpr” Dusíková summarized the impact of this feature best a few days ago, in her calm deadpan way… when she was told that the reflection paper was going to make it to the Saturday adoption poll, she gave a little shrug and just quietly said: “Whole new language.”

Mic drop.

]]>
Sun, 22 Jun 2025 05:16:16 +0000 Blog Staff
Results summary: 2025 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2025/05/results-summary-2025-annual-cpp-developer-survey-lite https://isocpp.org//blog/2025/05/results-summary-2025-annual-cpp-developer-survey-lite Thank you to everyone who reponded to our 2025 annual global C++ developer survey. As promised, here is a summary of the results, including one-page AI-generated summaries of your answers to the free-form questions:

CppDevSurvey-2025-summary.pdf

A 100-page version of this report that also includes all individual write-in responses has now been forwarded to the C++ standards committee and C++ product vendors, to help inform C++ evolution and tooling.

Your feedback is valuable, and appreciated.

]]>
Mon, 19 May 2025 08:01:39 +0000 Blog Staff
2025-05 Mailing Available https://isocpp.org//blog/2025/05/2025-05-mailing-available https://isocpp.org//blog/2025/05/2025-05-mailing-available The 2025-05 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N5010 WG21 agenda: 16-21 June 2025, Sofia Bulgaria John Spicer 2025-05-04 2025-05   All of WG21
P0085R1 Oo... adding a coherent character sequence to begin octal-literals Axel Naumann 2025-05-19 2025-05 P0085R0 EWG Evolution,LEWG Library Evolution
P0149R2 Generalised member pointers Jeff Snyder 2025-05-19 2025-05 P0149R1 CWG Core
P0149R3 Generalised member pointers Jeff Snyder 2025-05-19 2025-05 P0149R2 CWG Core
P1144R13 std::is_trivially_relocatable Arthur O'Dwyer 2025-05-14 2025-05 P1144R12 EWG Evolution
P1306R4 Expansion statements Dan Katz 2025-05-17 2025-05 P1306R3 CWG Core
P2079R8 Parallel Scheduler Lucian Radu Teodorescu 2025-05-18 2025-05 P2079R7 LWG Library
P2287R5 Designated-initializers for base classes Barry Revzin 2025-05-17 2025-05 P2287R4 EWG Evolution
P2414R7 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-05-14 2025-05 P2414R6 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P2434R4 Nondeterministic pointer provenance S. Davis Herring 2025-05-09 2025-05 P2434R3 SG1 Concurrency and Parallelism,SG22 Compatibility,EWG Evolution,CWG Core,LWG Library
P2509R1 A proposal for a type trait to detect value-preserving conversions Giuseppe D'Angelo 2025-05-19 2025-05 P2509R0 SG6 Numerics,LEWG Library Evolution
P2664R10 Proposal to extend std::simd with permutation API Daniel Towner 2025-05-19 2025-05 P2664R9 LWG Library
P2719R5 Type-aware allocation and deallocation functions Louis Dionne 2025-05-12 2025-05 P2719R4 CWG Core
P2902R2 constexpr 'Parallel' Algorithms Oliver Rosten 2025-05-12 2025-05 P2902R1 LEWG Library Evolution,LWG Library
P2927R3 Observing exceptions stored in exception_ptr Gor Nishanov 2025-05-18 2025-05 P2927R2 LWG Library
P2956R1 Add saturating library support to std::simd Daniel Towner 2025-05-19 2025-05 P2956R0 LWG Library
P2970R0 Partial application of concepts in template arguments Corentin Jabot 2025-05-19 2025-05   EWG Evolution
P2996R12 Reflection for C++26 Barry Revzin 2025-05-17 2025-05 P2996R11 EWG Evolution
P3008R5 Atomic floating-point min/max Gonzalo Brito Gadeschi 2025-04-29 2025-05 P3008R4 LWG Library
P3008R5 Atomic floating-point min/max Gonzalo Brito Gadeschi 2025-05-18 2025-05 P3008R4 LWG Library
P3037R6 constexpr std::shared_ptr and friends Paul Keir 2025-05-03 2025-05 P3037R5 LWG Library
P3086R4 Proxy: A Pointer-Semantics-Based Polymorphism Library Mingxin Wang 2025-05-19 2025-05 P3086R3 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3096R9 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-05-15 2025-05 P3096R8 CWG Core,LWG Library
P3100R2 Implicit contract assertions Timur Doumler 2025-05-19 2025-05 P3100R1 EWG Evolution
P3111R6 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-05-18 2025-05 P3111R5 CWG Core,LWG Library
P3125R4 constexpr pointer tagging Hana Dusíková 2025-05-19 2025-05 P3125R3 LEWG Library Evolution
P3149R10 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2025-05-19 2025-05 P3149R9 LWG Library
P3164R4 Early Diagnostics for Sender Expressions Eric Niebler 2025-04-27 2025-05 P3164R3 LWG Library
P3179R8 C++ parallel range algorithms Ruslan Arutyunyan 2025-05-18 2025-05 P3179R7 LWG Library
P3284R4 `write_env` and `unstoppable` Sender Adaptors Eric Niebler 2025-05-16 2025-05 P3284R3 LWG Library
P3293R2 Splicing a base class subobject Barry Revzin 2025-05-11 2025-05 P3293R1 EWG Evolution
P3310R6 Solving issues introduced by relaxed template template parameter matching Matheus Izvekov 2025-05-18 2025-05 P3310R5 EWG Evolution,CWG Core
P3347R2 Invalid/Prospective Pointer Operations Paul E. McKenney 2025-05-14 2025-05 P3347R1 EWG Evolution
P3375R3 Reproducible floating-point results Guy Davidson 2025-05-18 2025-05 P3375R2 SG6 Numerics,SG14 Low Latency,LEWG Library Evolution
P3385R5 Attributes reflection Aurelien Cassagnes 2025-05-19 2025-05 P3385R4 EWG Evolution,LEWG Library Evolution
P3394R3 Annotations for Reflection Daveed Vandevoorde 2025-05-17 2025-05 P3394R2 CWG Core,LWG Library
P3395R4 Fix encoding issues and add a formatter for std::error_code Victor Zverovich 2025-04-27 2025-05 P3395R3 LEWG Library Evolution
P3402R3 A Safety Profile Verifying Initialization Marc-André Laverdière 2025-05-16 2025-05 P3402R2 SG23 Safety and Security,EWG Evolution
P3411R2 `any_view` Hui Xie 2025-05-17 2025-05 P3411R1 SG9 Ranges,LEWG Library Evolution
P3412R2 String interpolation Bengt Gustafsson 2025-05-18 2025-05 P3412R1 EWG Evolution
P3439R2 Chained comparisons: Safe, correct, efficient Herb Sutter 2025-05-10 2025-05 P3439R1 EWG Evolution
P3442R2 [[invalidate_dereferencing]] attribute Patrice Roy 2025-05-19 2025-05 P3442R1 EWG Evolution
P3480R5 std::simd is a range Matthias Kretz 2025-05-15 2025-05 P3480R4 LWG Library
P3516R2 Uninitialized algorithms for relocation Louis Dionne 2025-05-16 2025-05 P3516R1 LWG Library
P3552R2 Add a Coroutine Task Type Dietmar Kühl 2025-05-18 2025-05 P3552R1 LWG Library
P3556R1 Input files are source files Alisdair Meredith 2025-05-19 2025-05 P3556R0 SG16 Unicode,CWG Core
P3557R2 High-Quality Sender Diagnostics with Constexpr Exceptions Eric Niebler 2025-05-16 2025-05 P3557R1 LWG Library
P3560R1 Error Handling in Reflection Barry Revzin 2025-05-19 2025-05 P3560R0 EWG Evolution,LEWG Library Evolution
P3565R1 Virtual floating-point values S. Davis Herring 2025-05-19 2025-05 P3565R0 SG6 Numerics
P3566R1 You shall not pass `char*` - Safety concerns working with unbounded null-terminated strings Marco Foco 2025-05-19 2025-05 P3566R0 SG23 Safety and Security,LEWG Library Evolution,LWG Library,ARG ABI Review Group
P3570R1 optional variants in sender/receiver Fabio Fracassi 2025-05-19 2025-05 P3570R0 LEWG Library Evolution
P3588R1 Allow static data members in local and unnamed classes Brian Bi 2025-05-17 2025-05 P3588R0 EWG Evolution
P3589R2 C++ Profiles: The Framework Gabriel Dos Reis 2025-05-19 2025-05 P3589R1 EWG Evolution
P3617R0 std::meta::reflect_constant_{array,string} Barry Revzin 2025-05-16 2025-05   LEWG Library Evolution
P3631R0 Cleaning up the trivial relocation APIs in C++26 Louis Dionne 2025-05-18 2025-05   LEWG Library Evolution,LWG Library
P3649R0 A principled approach to safety profiles Jonathan Müller 2025-05-19 2025-05   SG23 Safety and Security
P3655R1 zstring_view Peter Bindels 2025-05-19 2025-05 P3655R0 LEWG Library Evolution
P3658R1 Adjust identifier following new Unicode recommendations Robin Leroy 2025-05-15 2025-05 P3658R0 EWG Evolution
P3663R1 Future-proof `submdspan-mapping` Mark Hoemmen 2025-05-16 2025-05 P3663R0 LWG Library
P3668R1 Defaulting Postfix Increment and Decrement Operations Matthew Taylor 2025-05-16 2025-05 P3668R0 EWGI SG17: EWG Incubator
P3669R1 Non-Blocking Support for `std::execution` Detlef Vollmann 2025-05-17 2025-05 P3669R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3670R1 Pack Indexing for Template Names Corentin Jabot 2025-05-03 2025-05 P3670R0 EWG Evolution
P3676R0 Enhanced inline Keyword with Configurable Inlining Levels Stephen Berry 2025-04-17 2025-05   SG14 Low Latency,EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3677R0 Preserving LC_CTYPE at program start for UTF-8 locales Corentin Jabot 2025-05-03 2025-05   SG16 Unicode,SG22 Compatibility
P3678R0 Arbitrary attributes in define_aggregate Aurelien Cassagnes 2025-05-14 2025-05   SG7 Reflection
P3679R0 SFINAEable constexpr exceptions Hana Dusíková 2025-05-16 2025-05   EWG Evolution
P3681R0 char_traits: Stop the bleeding Corentin Jabot 2025-05-19 2025-05   SG16 Unicode
P3682R0 Remove std::execution::split Robert Leahy 2025-05-06 2025-05   LEWG Library Evolution
P3685R0 Rename async_scope_token Robert Leahy 2025-05-07 2025-05   LEWG Library Evolution
P3686R0 Allow named modules to export macros Chuanqi Xu 2025-05-07 2025-05   EWG Evolution
P3687R0 Final Adjustments to C++26 Reflection Dan Katz 2025-05-15 2025-05   EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3688R0 ASCII character utilities Jan Schultke 2025-05-19 2025-05   SG16 Unicode,LEWG Library Evolution
P3689R0 Convenience functions for Random number generation Thomas Mejstrik 2025-05-11 2025-05   LEWGI SG18: LEWG Incubator
P3690R0 Consistency fix: Make simd reductions SIMD-generic Olaf Krzikalla 2025-05-13 2025-05   LEWG Library Evolution
P3691R0 Reconsider naming of the namespace for "std::simd" Matthias Kretz 2025-05-19 2025-05   LEWG Library Evolution
P3692R0 How to Avoid OOTA Without Really Trying Paul E. McKenney 2025-05-13 2025-05   SG1 Concurrency and Parallelism
P3693R0 SG14: Low Latency/Games/Embedded/Financial Trading virtual Meeting Minutes 2025/04/09-2025/05/07 Michael Wong 2025-05-15 2025-05   SG14 Low Latency
P3694R0 SG19: Machine Learning virtual Meeting Minutes to 2025/03/13-2025/05/08 Michael Wong 2025-05-15 2025-05   SG19 Machine Learning
P3695R0 Deprecate implicit conversions between Unicode character types Jan Schultke 2025-05-17 2025-05   SG16 Unicode,EWG Evolution
P3696R0 Discovering Header Units via Module Maps Michael Spencer 2025-05-19 2025-05   SG15 Tooling
P3697R0 Minor additions to C++26 standard library hardening Konstantin Varlamov 2025-05-15 2025-05   LEWG Library Evolution,LWG Library
P3698R0 Cross-capacity comparisons for inplace_vector Charles Hussong 2025-05-19 2025-05   LEWG Library Evolution
P3699R0 Rename `conqueue_errc` Detlef Vollmann 2025-05-17 2025-05   LEWG Library Evolution
P3700R0 Making Safe C++ happen Peter Bindels 2025-05-19 2025-05   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3701R0 Concepts for integer types, not integral types Jan Schultke 2025-05-19 2025-05   LEWG Library Evolution
P3702R0 Stricter requirements for document submissions (SD-7) Jan Schultke 2025-05-19 2025-05   All of WG21
P3703R0 Constness and Locking Yoaodan Zhang 2025-05-18 2025-05   SG1 Concurrency and Parallelism
P3704R0 What are profiles? Bjarne Stroustrup 2025-05-19 2025-05   SG20 Education,SG23 Safety and Security,EWG Evolution,LEWG Library Evolution
P3705R0 A Sentinel for Null-Terminated Strings Eddie Nolan 2025-05-19 2025-05   SG9 Ranges,LEWG Library Evolution
P3706R0 Rename join and nest in async_scope proposal Ruslan Arutyunyan 2025-05-19 2025-05   LEWG Library Evolution
P3707R0 A std::is_always_exhaustive trait Patrice Roy 2025-05-19 2025-05   SG14 Low Latency,LEWG Library Evolution
P3709R0 Reconsider parallel ranges::rotate_copy and ranges::reverse_copy Ruslan Arutyunyan 2025-05-18 2025-05   LEWG Library Evolution
P3710R0 zstring_view: a string_view with guaranteed null termination Alexey Shevlyakov, Marco Foco 2025-05-19 2025-05   SG23 Safety and Security,LEWG Library Evolution
P3711R0 Safer StringViewLike Functions for Replacing char* strings Marco Foco 2025-05-19 2025-05   SG23 Safety and Security,LEWG Library Evolution
P3712R0 2025-05 Library Evolution Polls Inbal Levi 2025-05-19 2025-05   All of WG21
P3714R0 Virtual values have Virtual Value Joshua Cranmer 2025-05-19 2025-05   SG6 Numerics
P3715R0 Tightening floating-point semantics for C++ Joshua Cranmer 2025-05-19 2025-05   SG6 Numerics,SG22 Compatibility
P3716R0 Subsetting Peter Bindels 2025-05-19 2025-05   SG23 Safety and Security,EWG Evolution
P3717R0 Update Annex E onto Unicode 16 Steve Downey 2025-05-19 2025-05   SG16 Unicode,EWG Evolution,CWG Core
]]>
Fri, 16 May 2025 00:33:24 +0000 Administrator
Survey closing soon: 2025 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2025/05/survey-closing-soon-2025-annual-cpp-developer-survey-lite https://isocpp.org//blog/2025/05/survey-closing-soon-2025-annual-cpp-developer-survey-lite cpp_logo.png

If you haven't already, please take 10 minutes to participate in this year's annual C++ developer survey! The results help to inform C++ standardization and C++ product vendors.

2025 Annual C++ Developer Survey "Lite"

The survey closes on Friday.

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

]]>
Wed, 07 May 2025 09:59:56 +0000 Blog Staff
2025 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2025/04/2025-annual-cpp-developer-survey-lite https://isocpp.org//blog/2025/04/2025-annual-cpp-developer-survey-lite cpp_logo.png

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

2025 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!

]]>
Wed, 30 Apr 2025 23:12:22 +0000 Blog Staff
2025-04 Mailing Available https://isocpp.org//blog/2025/04/2025-04-mailing-available https://isocpp.org//blog/2025/04/2025-04-mailing-available The 2025-04 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0260R17 C++ Concurrent Queues Detlef Vollmann 2025-04-15 2025-04 P0260R16 SG1 Concurrency and Parallelism,LWG Library
P1789R1 Library Support for Expansion Statements Alisdair Meredith 2025-04-15 2025-04 P1789R0 LEWG Library Evolution
P2019R8 Thread attributes Corentin Jabot 2025-03-18 2025-04 P2019R7 LWG Library
P2902R1 constexpr 'Parallel' Algorithms Oliver Rosten 2025-04-15 2025-04 P2902R0 LEWG Library Evolution,LWG Library
P2988R12 std::optional<T&> Steve Downey 2025-04-04 2025-04 P2988R11 LWG Library
P2996R11 Reflection for C++26 Barry Revzin 2025-04-16 2025-04 P2996R10 EWG Evolution
P3037R5 constexpr std::shared_ptr and friends Paul Keir 2025-03-27 2025-04 P3037R4 LWG Library
P3096R8 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-04-14 2025-04 P3096R7 CWG Core,LWG Library
P3126R3 Graph Library: Overview Phil Ratzloff 2025-04-13 2025-04 P3126R2 SG14 Low Latency,SG19 Machine Learning
P3127R1 Graph Library: Background and Terminology Phil Ratzloff 2025-04-13 2025-04 P3127R0 SG14 Low Latency,SG19 Machine Learning
P3128R3 Graph Library: Algorithms Phil Ratzloff 2025-04-13 2025-04 P3128R2 SG14 Low Latency,SG19 Machine Learning
P3129R1 Graph Library: Views Phil Ratzloff 2025-04-13 2025-04 P3129R0 SG14 Low Latency,SG19 Machine Learning
P3130R3 Graph Library: Graph Container Interface Phil Ratzloff 2025-04-13 2025-04 P3130R2 SG14 Low Latency,SG19 Machine Learning
P3131R3 Graph Library: Graph Containers Phil Ratzloff 2025-04-13 2025-04 P3131R2 SG14 Low Latency,SG19 Machine Learning
P3161R4 Unified integer overflow arithmetic Tiago Freire 2025-03-25 2025-04 P3161R3 SG6 Numerics,LEWGI SG18: LEWG Incubator
P3295R3 Freestanding constexpr containers and constexpr exception types Ben Craig 2025-03-25 2025-04 P3295R2 LWG Library
P3312R1 Overload Set Types Bengt Gustafsson 2025-04-16 2025-04 P3312R0 EWGI SG17: EWG Incubator
P3312R1 Overload Set Types Bengt Gustafsson 2025-04-16 2025-04 P3312R0 EWGI SG17: EWG Incubator
P3348R3 C++26 should refer to C23 not C17 Jonathan Wakely 2025-03-21 2025-04 P3348R2 SG6 Numerics,LWG Library
P3371R4 Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS Mark Hoemmen 2025-04-06 2025-04 P3371R3 LWG Library
P3388R2 When Do You Know connect Doesn't Throw? Robert Leahy 2025-04-01 2025-04 P3388R1 LWG Library
P3391R1 constexpr std::format Barry Revzin 2025-04-15 2025-04 P3391R0 LEWG Library Evolution
P3395R3 Fix encoding issues and add a formatter for std::error_code Victor Zverovich 2025-03-22 2025-04 P3395R2 LEWG Library Evolution
P3395R3 Fix encoding issues and add a formatter for std::error_code Victor Zverovich 2025-03-22 2025-04 P3395R2 LEWG Library Evolution
P3481R3 std::execution::bulk() issues Lucian Radu Teodorescu 2025-04-16 2025-04 P3481R2 LWG Library
P3514R0 Implementing "RFC 3514: The Security Flag" for C++ Steve Downey 2025-04-06 2025-04   LEWGI SG18: LEWG Incubator,All of WG21
P3561R2 Index based coproduct operations on variant, and library wording Esa Pulkkinen 2025-04-06 2025-04 P3561R1 LEWGI SG18: LEWG Incubator
P3652R1 Constexpr floating-point <charconv> functions Lénárd Szolnoki 2025-04-16 2025-04 P3652R0 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3656R1 Initial draft proposal for core language UB white paper: Process and major work items Herb Sutter 2025-03-25 2025-04 P3656R0 EWG Evolution
P3665R0 Vertical Text Processing Jeremy Rifkin 2025-04-01 2025-04   EWG Evolution
P3667R0 Extending range-for loop with an expression statement Jose Daniel Garcia 2025-04-10 2025-04   EWGI SG17: EWG Incubator
P3668R0 Defaulting Postfix Increment and Decrement Operations Matthew Taylor 2025-04-15 2025-04   EWGI SG17: EWG Incubator
P3669R0 Non-Blocking Support for `std::execution` Detlef Vollmann 2025-04-15 2025-04   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3670R0 Pack Indexing for Template Names Corentin Jabot 2025-04-16 2025-04   EWG Evolution
P3671R0 Clarifying the interaction of the literal and execution encodings Corentin Jabot 2025-04-16 2025-04   SG16 Unicode
P3672R0 On Windows, Systems APIs, Text Encodings, and Pragmatism Corentin Jabot 2025-04-16 2025-04   SG16 Unicode
]]>
Wed, 16 Apr 2025 00:31:19 +0000 Administrator
2025-03 Mailing Available https://isocpp.org//blog/2025/03/2025-03-mailing-available https://isocpp.org//blog/2025/03/2025-03-mailing-available The 2025-03 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N5004 2025 Sofia Meeting Invitation and Information Vassil Vassilev 2025-01-14 2025-03   All of WG21
N5005 WG21 2025-01 Hagenberg Admin telecon minutes Nina Ranns 2025-01-31 2025-03   All of WG21
N5006 2025 WG21 admin telecon meetings (revised 2025-02-20) Herb Sutter 2025-03-03 2025-03   All of WG21
N5007 WG21 02/2025 Hagenberg Minutes of Meeting Nina Ranns 2025-03-03 2025-03   All of WG21
N5008 Working Draft, Programming Languages -- C++ Thomas Köppe 2025-03-15 2025-03   All of WG21
N5009 Editors' Report, Programming Languages -- C++ Thomas Köppe 2025-03-15 2025-03   All of WG21
P0260R15 C++ Concurrent Queues Detlef Vollmann 2025-02-13 2025-03 P0260R14 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0260R16 C++ Concurrent Queues Detlef Vollmann 2025-02-15 2025-03 P0260R15 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0876R20 fiber_context - fibers without scheduler Oliver Kowalke 2025-02-27 2025-03 P0876R19 EWG Evolution,CWG Core,LWG Library
P1494R5 Partial program correctness S. Davis Herring 2025-03-04 2025-03 P1494R4 CWG Core,LWG Library
P1967R14 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2025-02-17 2025-03 P1967R13 CWG Core
P2079R7 System execution context Lucian Radu Teodorescu 2025-02-12 2025-03 P2079R6 LEWG Library Evolution
P2287R4 Designated-initializers for base classes Barry Revzin 2025-03-10 2025-03 P2287R3 EWG Evolution
P2414R6 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-02-13 2025-03 P2414R5 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P2663R7 Proposal to support interleaved complex values in std::simd Daniel Towner 2025-02-17 2025-03 P2663R6 LWG Library
P2719R4 Type-aware allocation and deallocation functions Louis Dionne 2025-02-10 2025-03 P2719R3 CWG Core
P2758R5 Emitting messages at compile time Barry Revzin 2025-03-16 2025-03 P2758R4 CWG Core,LWG Library
P2781R6 std::constexpr_wrapper Zach Laine 2025-02-16 2025-03 P2781R5 LEWG Library Evolution,LWG Library
P2781R7 std::constexpr_wrapper Zach Laine 2025-03-09 2025-03 P2781R6 LEWG Library Evolution,LWG Library
P2781R8 std::constexpr_wrapper Zach Laine 2025-03-15 2025-03 P2781R7 LEWG Library Evolution,LWG Library
P2786R12 Trivial Relocatability For C++26 Pablo Halpern 2025-02-10 2025-03 P2786R11 CWG Core,LWG Library
P2786R13 Trivial Relocatability For C++26 Pablo Halpern 2025-02-14 2025-03 P2786R12 All of WG21
P2825R5 Overload resolution hook: declcall( unevaluated-call-expression ) Gašper Ažman 2025-03-16 2025-03 P2825R4 EWG Evolution,CWG Core
P2830R10 Standardized Constexpr Type Ordering Gašper Ažman 2025-03-15 2025-03 P2830R9 EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P2841R7 Concept and variable-template template-parameters Corentin Jabot 2025-02-15 2025-03 P2841R6 CWG Core
P2843R2 Preprocessing is never undefined Alisdair Meredith 2025-03-17 2025-03 P2843R1 CWG Core
P2846R6 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2025-02-15 2025-03 P2846R5 LWG Library
P2863R9 Review Annex D for C++26 Alisdair Meredith 2025-03-11 2025-03 P2863R8 EWG Evolution,CWG Core,LWG Library
P2873R3 Remove Deprecated locale category facets for Unicode from C++26 Alisdair Meredith 2025-03-17 2025-03 P2873R2 LWG Library
P2876R2 Proposal to extend std::simd with more constructors and accessors Daniel Towner 2025-02-14 2025-03 P2876R1 LWG Library
P2899R1 Contracts for C++ - Rationale Timur Doumler 2025-03-14 2025-03 P2899R0 SG21 Contracts,EWG Evolution,LEWG Library Evolution
P2900R14 Contracts for C++ Joshua Berne 2025-02-14 2025-03 P2900R13 CWG Core,LWG Library
P2933R4 std::simd overloads for <bit> header Daniel Towner 2025-02-17 2025-03 P2933R3 LWG Library
P2988R10 std::optional<T&> Steve Downey 2025-02-18 2025-03 P2988R9 LWG Library
P2988R11 std::optional<T&> Steve Downey 2025-03-17 2025-03 P2988R10 LWG Library
P2996R10 Reflection for C++26 Barry Revzin 2025-02-26 2025-03 P2996R9 EWG Evolution
P3008R4 Atomic floating-point min/max Gonzalo Brito Gadeschi 2025-02-20 2025-03 P3008R3 LWG Library
P3016R6 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2025-02-11 2025-03 P3016R5 LWG Library
P3019R13 Vocabulary Types for Composite Class Design Jonathan Coe 2025-02-09 2025-03 P3019R12 LEWG Library Evolution,LWG Library
P3019R14 Vocabulary Types for Composite Class Design Jonathan Coe 2025-02-11 2025-03 P3019R13 LEWG Library Evolution,LWG Library
P3060R2 Add std::views::indices(n) Weile Wei 2025-02-20 2025-03 P3060R1 LWG Library
P3070R3 Formatting enums Victor Zverovich 2025-02-16 2025-03 P3070R2 LWG Library
P3074R6 trivial unions (was std::uninitialized<T>) Barry Revzin 2025-02-11 2025-03 P3074R5 EWG Evolution
P3074R7 trivial unions (was std::uninitialized<T>) Barry Revzin 2025-02-14 2025-03 P3074R6 EWG Evolution
P3081R2 Core safety profiles for C++26 Herb Sutter 2025-02-03 2025-03 P3081R1 EWG Evolution,LEWG Library Evolution
P3096R6 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-02-07 2025-03 P3096R5 CWG Core,LWG Library
P3096R7 Function Parameter Reflection in Reflection for C++26 Adam Lach 2025-03-15 2025-03 P3096R6 CWG Core,LWG Library
P3104R3 Bit permutations Jan Schultke 2025-02-11 2025-03 P3104R2 LEWG Library Evolution
P3111R4 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-02-14 2025-03 P3111R3 LEWG Library Evolution
P3111R5 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-02-20 2025-03 P3111R4 CWG Core,LWG Library
P3137R3 views::to_input Tim Song 2025-02-10 2025-03 P3137R2 LWG Library
P3149R9 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2025-02-18 2025-03 P3149R8 LWG Library
P3161R3 Unified integer overflow arithmetic Tiago Freire 2025-01-16 2025-03 P3161R2 SG6 Numerics
P3179R6 C++ parallel range algorithms Ruslan Arutyunyan 2025-02-07 2025-03 P3179R5 LEWG Library Evolution
P3179R7 C++ parallel range algorithms Ruslan Arutyunyan 2025-02-28 2025-03 P3179R6 LWG Library
P3229R1 Making erroneous behaviour compatible with Contracts Timur Doumler 2025-02-10 2025-03 P3229R0 EWG Evolution,LEWG Library Evolution
P3230R2 views::unchecked_(take|drop) Hewill Kang 2025-02-27 2025-03 P3230R1 SG9 Ranges,LEWG Library Evolution,LWG Library
P3242R1 Copy and fill for mdspan Nicolas Morales 2025-03-13 2025-03 P3242R0 LEWG Library Evolution
P3248R3 Require [u]intptr_t Gonzalo Brito Gadeschi 2025-02-10 2025-03 P3248R2 EWG Evolution,LEWG Library Evolution
P3284R3 `write_env` and `unstoppable` Sender Adaptors Eric Niebler 2025-02-13 2025-03 P3284R2 LWG Library
P3287R3 Exploration of namespaces for std::simd Matthias Kretz 2025-02-13 2025-03 P3287R2 LWG Library
P3296R4 let_async_scope Anthony Williams 2025-03-17 2025-03 P3296R3 LWG Library
P3319R3 Add an iota object for simd (and more) Matthias Kretz 2025-02-03 2025-03 P3319R2 LEWG Library Evolution
P3319R4 Add an iota object for simd (and more) Matthias Kretz 2025-02-14 2025-03 P3319R3 LEWG Library Evolution
P3319R5 Add an iota object for simd (and more) Matthias Kretz 2025-02-14 2025-03 P3319R4 LWG Library
P3331R1 Accessing The First and Last Elements in Associative Containers Nikita Sakharin 2025-02-05 2025-03 P3331R0 LEWG Library Evolution,LWG Library
P3349R1 Converting contiguous iterators to pointers Jonathan Wakely 2025-02-10 2025-03 P3349R0 LWG Library
P3365R1 Remove the Deprecated iterator Class Template from C++26 Alisdair Meredith 2025-03-11 2025-03 P3365R0 LWG Library
P3366R1 Remove Deprecated Atomic Initialization API from C++26 Alisdair Meredith 2025-03-16 2025-03 P3366R0 LWG Library
P3367R4 constexpr coroutines Hana Dusíková 2025-02-17 2025-03 P3367R3 CWG Core,LWG Library
P3372R3 constexpr containers and adapters Hana Dusíková 2025-02-11 2025-03 P3372R2 LWG Library
P3378R2 constexpr exception types Hana Dusíková 2025-02-11 2025-03 P3378R1 LWG Library
P3383R2 mdspan.at() Stephan Lachnit 2025-02-17 2025-03 P3383R1 LWG Library
P3385R4 Attributes reflection Aurelien Cassagnes 2025-03-10 2025-03 P3385R3 SG7 Reflection,EWG Evolution,LEWG Library Evolution
P3394R2 Annotations for Reflection Daveed Vandevoorde 2025-03-14 2025-03 P3394R1 CWG Core,LWG Library
P3395R1 Fix encoding issues and add a formatter for std::error_code Victor Zverovich 2025-03-12 2025-03 P3395R0 LEWG Library Evolution
P3395R2 Fix encoding issues and add a formatter for std::error_code Victor Zverovich 2025-03-17 2025-03 P3395R1 LEWG Library Evolution
P3400R1 Specifying Contract Assertion Properties with Labels Joshua Berne 2025-02-28 2025-03 P3400R0 SG21 Contracts,All of WG21
P3417R1 Handling exceptions thrown from contract predicates Gašper Ažman 2025-03-05 2025-03 P3417R0 SG21 Contracts,EWG Evolution
P3430R3 simd issues: explicit, unsequenced, identity-element position, and members of disabled simd Matthias Kretz 2025-02-13 2025-03 P3430R2 LWG Library
P3441R1 Rename simd_split to simd_chunk Daniel Towner 2025-01-29 2025-03 P3441R0 LEWG Library Evolution
P3441R2 Rename simd_split to simd_chunk Daniel Towner 2025-01-30 2025-03 P3441R1 LEWG Library Evolution
P3442R1 [[invalidate_dereferencing]] attribute Patrice Roy 2025-02-11 2025-03 P3442R0 SG14 Low Latency,LEWG Library Evolution
P3471R3 Standard Library Hardening Konstantin Varlamov 2025-02-13 2025-03 P3471R2 SG23 Safety and Security,LEWG Library Evolution
P3471R4 Standard Library Hardening Konstantin Varlamov 2025-02-14 2025-03 P3471R3 CWG Core,LWG Library
P3472R1 Make fiber_context::can_resume() const Andrzej Krzemieński 2025-01-28 2025-03 P3472R0 LEWG Library Evolution
P3475R2 Defang and deprecate memory_order::consume Hans Boehm 2025-02-25 2025-03 P3475R1 SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3477R3 There are exactly 8 bits in a byte JF Bastien 2025-02-10 2025-03 P3477R2 LEWG Library Evolution,CWG Core,LWG Library
P3477R4 There are exactly 8 bits in a byte JF Bastien 2025-02-13 2025-03 P3477R3 CWG Core
P3477R5 There are exactly 8 bits in a byte JF Bastien 2025-03-15 2025-03 P3477R4 EWG Evolution,LEWG Library Evolution
P3480R4 std::simd is a range Matthias Kretz 2025-02-14 2025-03 P3480R3 LEWG Library Evolution
P3481R2 std::execution::bulk() issues Lucian Radu Teodorescu 2025-02-11 2025-03 P3481R1 LEWG Library Evolution
P3482R1 Design for C++ networking based on IETF TAPS Thomas Rodgers, Woven By Toyota, [email protected] 2025-01-13 2025-03 P3482R0 SG4 Networking
P3491R2 define_static_{string,object,array} Barry Revzin 2025-03-14 2025-03 P3491R1 EWG Evolution,LEWG Library Evolution
P3492R1 Sized deallocation for placement new Lauri Vasama 2025-02-10 2025-03 P3492R0 EWG Evolution
P3492R2 Sized deallocation for placement new Lauri Vasama 2025-02-17 2025-03 P3492R1 EWG Evolution,CWG Core
P3499R1 Exploring strict contract predicates Timur Doumler 2025-02-09 2025-03 P3499R0 EWG Evolution
P3500R1 Are Contracts "safe"? Timur Doumler 2025-02-09 2025-03 P3500R0 EWG Evolution
P3503R1 Make type-erased allocator use in promise and packaged_task consistent Nicolas Morales 2025-03-16 2025-03 P3503R0 LWG Library
P3503R2 Make type-erased allocator use in promise and packaged_task consistent Nicolas Morales 2025-03-17 2025-03 P3503R1 LWG Library
P3505R0 Fix the default floating-point representation in std::format Victor Zverovich 2025-03-16 2025-03   LEWG Library Evolution
P3516R1 Uninitialized algorithms for relocation Louis Dionne 2025-02-11 2025-03 P3516R0 LEWG Library Evolution
P3526R0 Container truncation Peter Bindels 2025-03-17 2025-03   LEWG Library Evolution
P3533R2 constexpr virtual inheritance Hana Dusíková 2025-02-17 2025-03 P3533R1 CWG Core
P3537R1 Presentation on Concurrent Queue API Detlef Vollmann 2025-02-11 2025-03 P3537R0 All of WG21
P3540R1 #embed Parameter offset JeanHeyd Meneide 2025-02-17 2025-03 P3540R0 CWG Core
P3544R0 ranges::to view Hewill Kang 2025-02-11 2025-03   SG9 Ranges
P3547R1 Modeling Access Control With Reflection Dan Katz 2025-02-09 2025-03 P3547R0 SG7 Reflection,EWG Evolution,LEWG Library Evolution,LWG Library
P3552R1 Add a Coroutine Task Type Dietmar Kühl 2025-03-16 2025-03 P3552R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3556R0 Input files are source files Alisdair Meredith 2025-03-17 2025-03   CWG Core
P3557R1 High-Quality Sender Diagnostics with Constexpr Exceptions Eric Niebler 2025-02-13 2025-03 P3557R0 LEWG Library Evolution
P3558R1 Core Language Contracts By Default Joshua Berne 2025-02-02 2025-03 P3558R0 SG21 Contracts,SG23 Safety and Security
P3561R1 Index based coproduct operations on variant, and library wording Esa Pulkkinen 2025-01-16 2025-03 P3561R0 LEWGI SG18: LEWG Incubator
P3568R1 break label; and continue label; Jan Schultke 2025-03-13 2025-03 P3568R0 SG22 Compatibility,EWG Evolution
P3570R0 optional variants in sender/receiver Fabio Fracassi 2025-02-10 2025-03   LEWG Library Evolution
P3579R1 Fix matching of non-type template parameters when matching template template parameters Matheus Izvekov 2025-02-10 2025-03 P3579R0 CWG Core
P3589R1 C++ Profiles: The Framework Gabriel Dos Reis 2025-02-03 2025-03 P3589R0 EWG Evolution
P3591R0 Contextualizing Contracts Concerns Joshua Berne 2025-02-03 2025-03   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P3592R0 Resolving Concerns with const-ification Joshua Berne 2025-02-10 2025-03   SG21 Contracts,EWG Evolution
P3599R0 Initial Implicit Contract Assertions Joshua Berne 2025-02-03 2025-03   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3603R0 Consteval-only Values and Consteval Variables Barry Revzin 2025-03-13 2025-03   EWG Evolution
P3605R0 isqrt: A function to calculate integer square root of the nonnegative integer Nikita Sakharin 2025-02-05 2025-03   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P3606R0 On Overload Resolution, Exact Matches and Clever Implementations Corentin Jabot 2025-01-27 2025-03   EWG Evolution
P3608R0 Contracts and profiles: what can we reasonably ship in C++26 Ville Voutilainen 2025-02-01 2025-03   EWG Evolution,LEWG Library Evolution
P3611R0 Dealing with pointer errors: Separating static and dynamic checking Bjarne Stroustrup 2025-02-04 2025-03   SG23 Safety and Security,EWG Evolution,LEWG Library Evolution
P3613R0 On the beating of horses, and other matters Tim Song 2025-03-17 2025-03   SG9 Ranges
P3614R0 Do not remove nor postpone access_context::unchecked Ville Voutilainen 2025-02-06 2025-03   EWG Evolution
P3615R0 C++ Standard Library Ready Issues to be moved in Hagenberg, Feb. 2025 Jonathan Wakely 2025-02-07 2025-03   All of WG21
P3616R0 Remove contracts on virtual functions for now Ville Voutilainen 2025-02-08 2025-03   EWG Evolution
P3618R0 Allow attaching main to the global module Michael Spencer 2025-02-11 2025-03   EWG Evolution
P3619R0 Counter-examples for P2688R5 Vlad Serebrennikov 2025-02-10 2025-03   EWG Evolution
P3619R1 Counter-examples for P2688R5 Vlad Serebrennikov 2025-02-12 2025-03 P3619R0 EWG Evolution
P3620R0 Concerns with the proposed addition of fibers to C++ 26 David Chisnall 2025-02-10 2025-03   EWG Evolution,CWG Core,LWG Library
P3623R0 Add noexcept to [iterator.range] (LWG 3537) Arthur O'Dwyer 2025-02-11 2025-03   LWG Library
P3625R0 either neither Michael Florian Hava 2025-02-11 2025-03   LEWG Library Evolution
P3626R0 Make predicate exceptions propagate by default Timur Doumler 2025-02-11 2025-03   EWG Evolution
P3627R0 Easy-to-adopt security profiles for preventing RCE (remote code execution) in existing C++ code Ulfar Erlingsson 2025-02-11 2025-03   SG23 Safety and Security
P3628R0 break label; and continue label;, tl; dr Jan Schultke 2025-02-12 2025-03   EWGI SG17: EWG Incubator
P3630R0 Slides for P3568R0 Jan Schultke 2025-02-12 2025-03   EWG Evolution
P3632R0 P3564R0: Make the concurrent forward progress guarantee usable in bulk Mark Hoemmen 2025-02-13 2025-03   SG1 Concurrency and Parallelism
P3632R1 P3564R0: Make the concurrent forward progress guarantee usable in bulk Mark Hoemmen 2025-02-13 2025-03 P3632R0 SG1 Concurrency and Parallelism
P3633R0 A Byte is a Byte Murat Can Cagri 2025-02-13 2025-03   EWG Evolution,LEWG Library Evolution
P3635R0 We shouldn't rush to require either CHAR_BIT==8 or (u)intNN_t Nevin Liber 2025-02-13 2025-03   EWG Evolution,LEWG Library Evolution
P3636R0 LEWG Hagenberg presentation for P3581 No, inplace_vector shouldn't have an Allocator Nevin Liber 2025-02-13 2025-03   LEWG Library Evolution
P3637R0 Inherit std::meta::exception from std::exception Victor Zverovich 2025-03-08 2025-03   LEWG Library Evolution
P3638R0 Core Language Working Group "ready" Issues for the February, 2025 meeting Jens Maurer 2025-02-14 2025-03   CWG Core
P3639R0 The _BitInt Debate Jan Schultke 2025-02-20 2025-03   SG6 Numerics,EWG Evolution,LEWG Library Evolution
P3640R0 Make contracts reliable by default Jonas Persson 2025-03-17 2025-03   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3641R0 Rename std::observable to std::observable_checkpoint, and add a feature-test macro Jan Schultke 2025-03-13 2025-03   LEWG Library Evolution
P3642R0 Carry-less product: std::clmul Jan Schultke 2025-03-13 2025-03   SG6 Numerics,LEWGI SG18: LEWG Incubator
P3643R0 std::to_signed and std::to_unsigned Jan Schultke 2025-03-13 2025-03   LEWG Library Evolution
P3650R0 21st Century C++ Bjarne Stroustrup 2025-03-05 2025-03   All of WG21
P3651R0 Note to the C++ standards committee members Bjarne Stroustrup 2025-03-06 2025-03   All of WG21
P3652R0 Constexpr floating-point <charconv> functions Lénárd Szolnoki 2025-03-15 2025-03   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3654R0 Slides for P3516 Giuseppe D'Angelo 2025-03-09 2025-03   LEWG Library Evolution
P3655R0 zstring_view Peter Bindels 2025-03-17 2025-03   LEWG Library Evolution
P3656R0 Initial draft proposal for core language UB white paper: Process and major work items Herb Sutter 2025-03-11 2025-03   EWG Evolution
P3657R0 A Grammar for Whitespace Characters Alisdair Meredith 2025-03-17 2025-03   CWG Core
P3658R0 Adjust identifier following new Unicode recommendations Robin Leroy 2025-03-13 2025-03   SG16 Unicode
P3660R0 Improve `reference_wrapper` Ergonomics Jeremy Rifkin 2025-03-17 2025-03   LEWGI SG18: LEWG Incubator
]]>
Fri, 21 Mar 2025 20:45:52 +0000 Administrator
21st Century C++ -- Bjarne Stroustrup https://isocpp.org//blog/2025/02/https-cacm.acm.org-blogcacm-21st-century-c https://isocpp.org//blog/2025/02/https-cacm.acm.org-blogcacm-21st-century-c It is now 45+ years since C++ was first conceived. As planned, it evolved to meet challenges, but many developers use C++ as if it was still the previous millennium. This is suboptimal from the perspective of ease of expressing ideas, performance, reliability, and maintainability.

21st Century C++

by Bjarne Stroustrup

About the article:

Here, I present the key concepts on which performant, type safe, and flexible C++ software can be built: resource management, life-time management, error-handling, modularity, and generic programming. At the end, I present ways to ensure that code is contemporary, rather than relying on outdated, unsafe, and hard-to-maintain techniques: guidelines and profiles.

]]>
Mon, 10 Feb 2025 19:19:55 +0000 Bjarne Stroustrup
Contracts for C++ explained in 5 minutes -- Timur Doumler https://isocpp.org//blog/2025/02/https-timur.audio-contracts_explained_in_5_mins https://isocpp.org//blog/2025/02/https-timur.audio-contracts_explained_in_5_mins In this article, we briefly explain everything you need to know to get started with Contracts as proposed for C++26 in P2900.

Contracts for C++ explained in 5 minutes

by Timur Doumler

From the article:

With P2900, we propose to add contract assertions to the C++ language. This proposal is in the final stages of wording review before being included in the draft Standard for C++26.

It has been suggested by some members of the C++ standard committee that this feature is too large, too complicated, and hard to teach. As it turns out, the opposite is true: contract assertions are actually very simple and can be explained in just five minutes. In this blog post, we will do exactly this!

]]>
Mon, 10 Feb 2025 19:06:00 +0000 Timur Doumler
2025-01 Mailing Available https://isocpp.org//blog/2025/01/2025-01-mailing-available https://isocpp.org//blog/2025/01/2025-01-mailing-available The 2025-01 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0149R1 Generalised member pointers Jeff Snyder 2025-01-13 2025-01 P0149R0 EWG Evolution
P0260R14 C++ Concurrent Queues Detlef Vollmann 2025-01-12 2025-01 P0260R13 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0876R19 fiber_context - fibers without scheduler Oliver Kowalke 2025-01-13 2025-01 P0876R18 EWG Evolution,CWG Core,LWG Library
P1030R8 std::filesystem::path_view Niall Douglas 2024-12-21 2025-01 P1030R7 LEWG Library Evolution
P1839R7 Accessing object representations Brian Bi 2025-01-11 2025-01 P1839R6 CWG Core
P2079R6 System execution context Lucian Radu Teodorescu 2025-01-13 2025-01 P2079R5 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2414R5 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2025-01-11 2025-01 P2414R4 SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P2434R3 Nondeterministic pointer provenance S. Davis Herring 2025-01-13 2025-01 P2434R2 SG22 Compatibility,EWG Evolution,CWG Core
P2654R1 Modules and Macros Alisdair Meredith 2025-01-13 2025-01 P2654R0 EWG Evolution,LEWG Library Evolution
P2663R6 Proposal to support interleaved complex values in std::simd Daniel Towner 2025-01-13 2025-01 P2663R5 LEWG Library Evolution
P2664R9 Proposal to extend std::simd with permutation API Daniel Towner 2025-01-13 2025-01 P2664R8 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2688R5 Pattern Matching: `match` Expression Michael Park 2025-01-13 2025-01 P2688R4 EWG Evolution
P2719R2 Type-aware allocation and deallocation functions Louis Dionne 2025-01-06 2025-01 P2719R1 EWG Evolution,CWG Core
P2719R3 Type-aware allocation and deallocation functions Louis Dionne 2025-01-08 2025-01 P2719R2 EWG Evolution,CWG Core
P2746R7 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2025-01-12 2025-01 P2746R6 SG6 Numerics,LEWG Library Evolution
P2758R4 Emitting messages at compile time Barry Revzin 2025-01-07 2025-01 P2758R3 LEWG Library Evolution,CWG Core
P2806R3 do expressions Barry Revzin 2025-01-12 2025-01 P2806R2 EWG Evolution
P2825R4 Overload resolution hook: declcall( unevaluated-call-expression ) Gašper Ažman 2025-01-13 2025-01 P2825R3 EWG Evolution,CWG Core
P2830R8 Standardized Constexpr Type Ordering Gašper Ažman 2025-01-09 2025-01 P2830R7 LWG Library
P2830R9 Standardized Constexpr Type Ordering Gašper Ažman 2025-01-10 2025-01 P2830R8 EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P2841R6 Concept and variable-template template-parameters Corentin Jabot 2025-01-13 2025-01 P2841R5 CWG Core
P2843R1 Preprocessing is never undefined Alisdair Meredith 2025-01-13 2025-01 P2843R0 SG22 Compatibility,EWG Evolution
P2883R1 `offsetof` Should Be A Keyword In C++26 Alisdair Meredith 2025-01-10 2025-01 P2883R0 EWGI SG17: EWG Incubator,EWG Evolution
P2899R0 Contracts for C++ - Rationale Timur Doumler 2025-01-13 2025-01   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P2900R13 Contracts for C++ Joshua Berne 2025-01-13 2025-01 P2900R12 CWG Core,LWG Library
P2933R3 std::simd overloads for <bit> header Daniel Towner 2025-01-13 2025-01 P2933R2 LWG Library
P2952R2 auto& operator=(X&&) = default Arthur O'Dwyer 2025-01-08 2025-01 P2952R1 CWG Core
P2953R1 Forbid defaulting operator=(X&&) && Arthur O'Dwyer 2025-01-08 2025-01 P2953R0 EWGI SG17: EWG Incubator
P2971R3 Implication for C++ Walter E Brown 2025-01-12 2025-01 P2971R2 EWG Evolution,LEWG Library Evolution
P2988R9 std::optional<T&> Steve Downey 2025-01-13 2025-01 P2988R8 LEWG Library Evolution,LWG Library
P2996R9 Reflection for C++26 Barry Revzin 2025-01-13 2025-01 P2996R8 EWG Evolution
P3019R12 Vocabulary Types for Composite Class Design Jonathan Coe 2025-01-12 2025-01 P3019R11 LEWG Library Evolution,LWG Library
P3045R5 Quantities and units library Mateusz Pusz 2025-01-13 2025-01 P3045R4 SG6 Numerics,SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3070R2 Formatting enums Victor Zverovich 2025-01-13 2025-01 P3070R1 LEWG Library Evolution
P3081R1 Core safety profiles for C++26 Herb Sutter 2025-01-06 2025-01 P3081R0 EWG Evolution,LEWG Library Evolution
P3086R3 Proxy: A Pointer-Semantics-Based Polymorphism Library Mingxin Wang 2025-01-13 2025-01 P3086R2 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3094R6 std::basic_fixed_string Mateusz Pusz 2025-01-10 2025-01 P3094R5 LEWG Library Evolution
P3111R3 Atomic Reduction Operations Gonzalo Brito Gadeschi 2025-01-13 2025-01 P3111R2 EWG Evolution,LEWG Library Evolution
P3125R3 constexpr pointer tagging Hana Dusíková 2025-01-13 2025-01 P3125R2 LEWG Library Evolution
P3139R1 Pointer cast for unique_ptr Zhihao Yuan 2024-12-27 2025-01 P3139R0 LEWG Library Evolution
P3148R1 Formatting of chrono Time Values Alan Talbot 2025-01-13 2025-01 P3148R0 LEWG Library Evolution
P3164R3 Early Diagnostics for Sender Expressions Eric Niebler 2025-01-09 2025-01 P3164R2 LEWG Library Evolution
P3176R1 The Oxford variadic comma Jan Schultke 2024-12-18 2025-01 P3176R0 CWG Core
P3179R5 C++ parallel range algorithms Ruslan Arutyunyan 2025-01-13 2025-01 P3179R4 LEWG Library Evolution
P3206R0 A sender query for completion behaviour Maikel Nadolski 2025-01-13 2025-01   SG1 Concurrency and Parallelism
P3229R0 Making erroneous behaviour compatible with Contracts Timur Doumler 2025-01-13 2025-01   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P3289R1 Consteval blocks Daveed Vandevoorde 2025-01-12 2025-01 P3289R0 EWG Evolution,CWG Core
P3347R1 Invalid/Prospective Pointer Operations Paul E. McKenney 2025-01-11 2025-01 P3347R0 EWG Evolution
P3348R2 C++26 should refer to C23 not C17 Jonathan Wakely 2025-01-13 2025-01 P3348R1 SG6 Numerics,LEWG Library Evolution
P3351R2 views::scan Yihe Li 2025-01-12 2025-01 P3351R1 SG9 Ranges
P3367R3 constexpr coroutines Hana Dusíková 2025-01-06 2025-01 P3367R2 EWG Evolution,LWG Library
P3373R1 Of Operation States and Their Lifetimes Robert Leahy 2025-01-11 2025-01 P3373R0 LEWG Library Evolution
P3374R1 Adding formatter for fpos Liang Jiaming 2025-01-07 2025-01 P3374R0 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3375R2 Reproducible floating-point results Guy Davidson 2025-01-13 2025-01 P3375R1 SG6 Numerics,EWGI SG17: EWG Incubator
P3385R3 Attributes reflection Aurelien Cassagnes 2025-01-06 2025-01 P3385R2 SG7 Reflection
P3388R1 When Do You Know connect Doesn't Throw? Robert Leahy 2025-01-11 2025-01 P3388R0 LEWG Library Evolution
P3394R1 Annotations for Reflection Daveed Vandevoorde 2025-01-12 2025-01 P3394R0 SG7 Reflection,LEWG Library Evolution,CWG Core
P3395R0 Formatting of std::error_code Victor Zverovich 2024-12-22 2025-01   SG16 Unicode
P3400R0 Specifying Contract Assertion Properties with Labels Joshua Berne 2025-01-09 2025-01   SG21 Contracts,All of WG21
P3402R2 A Safety Profile Verifying Initialization Marc-André Laverdière 2025-01-13 2025-01 P3402R1 SG23 Safety and Security
P3407R1 Make idiomatic usage of `offsetof` well-defined Brian Bi 2025-01-11 2025-01 P3407R0 EWG Evolution
P3411R1 `any_view` Hui Xie 2025-01-11 2025-01 P3411R0 SG9 Ranges,LEWG Library Evolution
P3412R1 String interpolation Bengt Gustafsson 2025-01-12 2025-01 P3412R0 EWGI SG17: EWG Incubator,EWG Evolution
P3420R1 Reflection of Templates Andrei Alexandrescu 2025-01-13 2025-01 P3420R0 SG7 Reflection
P3423R1 Extending User-Generated Diagnostic Messages Yihe Li 2025-01-12 2025-01 P3423R0 EWG Evolution
P3425R1 Reducing operation-state sizes for subobject child operations Lewis Baker 2025-01-13 2025-01 P3425R0 LEWG Library Evolution
P3430R2 simd issues: explicit, unsequenced, identity-element position, and members of disabled simd Matthias Kretz 2025-01-13 2025-01 P3430R1 LEWG Library Evolution
P3431R0 Deprecate const-qualifier on begin/end of views Jonathan Müller 2025-01-13 2025-01   SG9 Ranges
P3439R1 Chained comparisons: Safe, correct, efficient Herb Sutter 2025-01-06 2025-01 P3439R0 EWG Evolution
P3475R1 Defang and deprecate memory_order::consume Hans Boehm 2025-01-11 2025-01 P3475R0 SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3477R2 There are exactly 8 bits in a byte JF Bastien 2025-01-11 2025-01 P3477R1 LEWG Library Evolution,CWG Core
P3480R3 std::simd is a range Matthias Kretz 2025-01-13 2025-01 P3480R2 LEWG Library Evolution
P3481R1 std::execution::bulk() issues Lucian Radu Teodorescu 2025-01-13 2025-01 P3481R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3491R1 define_static_{string,object,array} Barry Revzin 2025-01-12 2025-01 P3491R0 EWG Evolution,LEWG Library Evolution
P3496R0 Immediate-Escalating Expressions Barry Revzin 2025-01-05 2025-01   EWG Evolution,LEWG Library Evolution
P3499R0 Exploring strict contract predicates Lisa Lippincott 2025-01-13 2025-01   SG21 Contracts,EWG Evolution
P3500R0 Are Contracts "safe"? Timur Doumler 2025-01-13 2025-01   EWG Evolution
P3501R0 The ad-dressing of cats S. Davis Herring 2025-01-10 2025-01   EWG Evolution,CWG Core,LWG Library
P3506R0 P2900 Is Still not Ready for C++26 Gabriel Dos Reis 2025-01-13 2025-01   EWG Evolution
P3516R0 Uninitialized algorithms for relocation Louis Dionne 2025-01-13 2025-01   LEWG Library Evolution
P3527R1 Pattern Matching: *variant-like* and `std::expected` Michael Park 2025-01-13 2025-01 P3527R0 EWG Evolution,LEWG Library Evolution
P3533R1 constexpr virtual inheritance Hana Dusíková 2025-01-10 2025-01 P3533R0 EWG Evolution
P3534R0 Avoid UB When Compiling Code That Violates Library Specification Alisdair Meredith 2025-01-13 2025-01   LWG Library
P3541R1 Violation handlers vs `noexcept` Andrzej Krzemieński 2025-01-06 2025-01 P3541R0 SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3546R0 Explicit return type deduction for std::numeric_limits and numbers Thomas Mejstrik 2024-12-19 2025-01   LEWGI SG18: LEWG Incubator
P3547R0 Modeling Access Control With Reflection Dan Katz 2025-01-09 2025-01   SG7 Reflection,LEWG Library Evolution
P3548R0 P1030 `std::filesystem::path_view` forward progress options Niall Douglas 2025-01-13 2025-01   LEWG Library Evolution
P3549R0 Diverging expressions Barry Revzin 2025-01-12 2025-01   EWG Evolution
P3550R0 Imports cannot ... Alisdair Meredith 2025-01-13 2025-01   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3552R0 Add a Coroutine Lazy Type Dietmar Kühl 2025-01-13 2025-01   SG1 Concurrency and Parallelism,LEWG Library Evolution
P3554R0 Non-transient allocation with vector and basic_string Barry Revzin 2025-01-05 2025-01   EWG Evolution
P3555R0 An infinite range concept Jonathan Müller 2025-01-13 2025-01   SG9 Ranges
P3557R0 High-Quality Sender Diagnostics with Constexpr Exceptions Eric Niebler 2025-01-12 2025-01   LEWG Library Evolution
P3558R0 Core Language Contracts By Default Joshua Berne 2025-01-12 2025-01   SG21 Contracts,SG23 Safety and Security
P3559R0 Trivial relocation: One trait or two? Arthur O'Dwyer 2025-01-08 2025-01   LEWG Library Evolution
P3560R0 Error Handling in Reflection Barry Revzin 2025-01-12 2025-01   EWG Evolution,LEWG Library Evolution
P3561R0 Index based coproduct operations on variant, and library wording Esa Pulkkinen 2025-01-13 2025-01   LEWGI SG18: LEWG Incubator
P3564R0 Make the concurrent forward progress guarantee usable in `bulk` Mark Hoemmen 2025-01-12 2025-01   SG1 Concurrency and Parallelism
P3565R0 Virtual floating-point values S. Davis Herring 2025-01-10 2025-01   SG6 Numerics
P3566R0 You shall not pass `char*` - Safety concerns working with unbounded null-terminated strings Marco Foco 2025-01-13 2025-01   SG23 Safety and Security,LEWG Library Evolution,LWG Library,ARG ABI Review Group
P3567R0 `flat_meow` Fixes Hui Xie 2025-01-11 2025-01   LEWG Library Evolution,LWG Library
P3568R0 break label; and continue label; Jan Schultke 2025-01-12 2025-01   EWGI SG17: EWG Incubator,SG22 Compatibility
P3569R0 Split define_aggregate from Reflection Shafik Yaghmour 2025-01-11 2025-01   EWG Evolution
P3572R0 Pattern matching Bjarne Stroustrup 2025-01-12 2025-01   EWG Evolution
P3573R0 Contract concerns Bjarne Stroustrup 2025-01-12 2025-01   SG21 Contracts,EWG Evolution,LEWG Library Evolution
P3574R0 Constexpr Callables Steve Downey 2025-01-13 2025-01   LEWG Library Evolution,LWG Library
P3575R0 SG14: Low Latency/Games/Embedded/Financial Trading virtual Meeting Minutes 2024/11/13 Michael Wong 2025-01-12 2025-01   SG14 Low Latency
P3576R0 SG19: Machine Learning virtual Meeting Minutes to 2024/11/14-2024/12/12 Michael Wong 2025-01-12 2025-01   SG19 Machine Learning
P3577R0 Requiring a non-throwing system-provided (default) contract-violation handler John Lakos 2025-01-12 2025-01   SG21 Contracts,EWG Evolution
P3578R0 Language Safety and Grandma Safety Ryan McDougall 2025-01-13 2025-01   SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3579R0 Fix matching of non-type template parameters when matching template template parameters Matheus Izvekov 2025-01-13 2025-01   CWG Core
P3580R0 The Naming of Things Alan Talbot 2025-01-13 2025-01   EWG Evolution,LEWG Library Evolution
P3581R0 No, inplace_vector shouldn't have an Allocator Nevin Liber 2025-01-13 2025-01   LEWG Library Evolution
P3582R0 Observed a contract violation? Skip subsequent assertions! Andrzej Krzemieński 2025-01-13 2025-01   SG21 Contracts,EWG Evolution
P3583R0 Contracts, Types & Functions Jonas Persson 2025-01-13 2025-01   SG21 Contracts
P3584R0 Enrich Facade Creation Facilities for the Pointer-Semantics-Based Polymorphism Library - Proxy Mingxin Wang 2025-01-13 2025-01   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3585R0 allocator_traits::is_internally_relocatable Pablo Halpern 2025-01-13 2025-01   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3586R0 The Plethora of Problems With Profiles Corentin Jabot 2025-01-13 2025-01   EWG Evolution
P3587R0 Reconsider reflection access for C++26 Lauri Vasama 2025-01-13 2025-01   SG7 Reflection,EWG Evolution
P3588R0 Allow static data members in local and unnamed classes Brian Bi 2025-01-13 2025-01   EWG Evolution
P3589R0 C++ Profiles: The Framework Gabriel Dos Reis 2025-01-13 2025-01   EWG Evolution
P3590R0 Constexpr Coroutines Burdens Daveed Vandevoorde 2025-01-13 2025-01   EWG Evolution,CWG Core
]]>
Mon, 13 Jan 2025 23:53:38 +0000 Administrator
2024-12 Mailing Available https://isocpp.org//blog/2024/12/2024-12-mailing-available https://isocpp.org//blog/2024/12/2024-12-mailing-available The 2024-12 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4977 2025-11 Kona meeting information Herb Sutter 2024-12-16 2024-12   All of WG21
N4995 WG21 agenda: 18-23 November 2024, Wroclaw, Poland John Spicer 2024-10-28 2024-12   All of WG21
N4997 Hagenberg Meeting Invitation and Information Michael Hava 2024-11-19 2024-12   All of WG21
N4998 WG21 2024-11 Wroclaw Admin telecon minutes Nina Ranns 2024-11-20 2024-12   All of WG21
N4999 WG21 agenda: 10-15 February 2025, Hagenberg, Austria John Spicer 2024-12-02 2024-12   All of WG21
N5000 WG21 November 2024 Hybrid meeting Minutes of Meeting Nina Ranns 2024-12-11 2024-12   All of WG21
N5001 Working Draft, Programming Languages -- C++ Thomas Köppe 2024-12-17 2024-12   All of WG21
N5002 Editors' Report, Programming Languages -- C++ Thomas Köppe 2024-12-17 2024-12   All of WG21
N5003 2025 WG21 admin telecon meetings Herb Sutter 2024-12-16 2024-12   All of WG21
P0178R1 Allocators and swap Alisdair Meredith 2024-12-17 2024-12 P0178R0 LWG Library
P0260R12 C++ Concurrent Queues Detlef Vollmann 2024-11-21 2024-12 P0260R11 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0260R13 C++ Concurrent Queues Detlef Vollmann 2024-12-10 2024-12 P0260R12 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0447R27 Introduction of std::hive to the standard library Matt Bentley 2024-12-03 2024-12 P0447R26 SG14 Low Latency,LEWG Library Evolution,LWG Library,All of WG21
P0447R28 Introduction of std::hive to the standard library Matt Bentley 2024-12-16 2024-12 P0447R27 SG14 Low Latency,LEWG Library Evolution,LWG Library,All of WG21
P0472R3 Put std::monostate in <utility> David Sankel 2024-11-18 2024-12 P0472R2 LEWG Library Evolution
P1040R7 std::embed and #depend JeanHeyd Meneide 2024-12-15 2024-12 P1040R6 EWG Evolution
P1061R10 Structured Bindings can introduce a Pack Barry Revzin 2024-11-24 2024-12 P1061R9 CWG Core
P1928R13 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-11-22 2024-12 P1928R12 LWG Library
P1928R14 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-11-22 2024-12 P1928R13 LWG Library
P1928R15 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-11-22 2024-12 P1928R14 LWG Library
P1967R13 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2024-12-15 2024-12 P1967R12 EWG Evolution,CWG Core
P2014R1 Proposed resolution for US061/US062 - aligned allocation of coroutine frames Lewis Baker 2024-10-29 2024-12 P2014R0 CWG Core
P2014R2 Proposed resolution for US061/US062 - aligned allocation of coroutine frames Lewis Baker 2024-10-29 2024-12 P2014R1 CWG Core
P2319R3 Prevent path presentation problems Victor Zverovich 2024-11-18 2024-12 P2319R2 LEWG Library Evolution
P2319R4 Prevent path presentation problems Victor Zverovich 2024-12-07 2024-12 P2319R3 LEWG Library Evolution
P2645R1 path_view: a design that took a wrong turn Victor Zverovich 2024-11-17 2024-12 P2645R0 LEWG Library Evolution
P2645R1 path_view: a design that took a wrong turn Victor Zverovich 2024-11-17 2024-12 P2645R0 LEWG Library Evolution
P2656R4 WITHDRAWN: C++ Ecosystem International Standard René Ferdinand Rivera Morell 2024-12-16 2024-12 P2656R3 All of WG21
P2686R5 constexpr structured bindings and references to constexpr variables Corentin Jabot 2024-11-12 2024-12 P2686R4 CWG Core
P2688R4 Pattern Matching: `match` Expression Michael Park 2024-12-17 2024-12 P2688R3 EWG Evolution
P2717R6 WITHDRAWN: Tool Introspection René Ferdinand Rivera Morell 2024-12-16 2024-12 P2717R5 All of WG21
P2781R5 std::constexpr_wrapper Zach Laine 2024-11-14 2024-12 P2781R4 LEWG Library Evolution
P2786R10 Trivial Relocatability For C++26 Pablo Halpern 2024-11-21 2024-12 P2786R9 LEWG Library Evolution
P2786R11 Trivial Relocatability For C++26 Pablo Halpern 2024-12-17 2024-12 P2786R10 EWG Evolution,LEWG Library Evolution
P2786R9 Trivial Relocatability For C++26 Pablo Halpern 2024-11-15 2024-12 P2786R8 EWG Evolution,LEWG Library Evolution
P2825R3 Overload resolution hook: declcall( unevaluated-call-expression ) Gašper Ažman 2024-12-16 2024-12 P2825R2 EWG Evolution,CWG Core
P2830R5 Standardized Constexpr Type Ordering Gašper Ažman 2024-11-20 2024-12 P2830R4 EWG Evolution,LEWG Library Evolution,CWG Core
P2830R6 Standardized Constexpr Type Ordering Gašper Ažman 2024-11-20 2024-12 P2830R5 EWG Evolution,LEWG Library Evolution,CWG Core
P2830R7 Standardized Constexpr Type Ordering Gašper Ažman 2024-11-21 2024-12 P2830R6 EWG Evolution,LEWG Library Evolution,CWG Core
P2835R7 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-11-18 2024-12 P2835R6 LWG Library
P2846R5 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2024-11-27 2024-12 P2846R4 LEWG Library Evolution
P2863R8 Review Annex D for C++26 Alisdair Meredith 2024-12-13 2024-12 P2863R7 EWG Evolution,LEWG Library Evolution
P2865R6 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2024-11-22 2024-12 P2865R5 CWG Core
P2866R5 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2024-12-17 2024-12 P2866R4 EWG Evolution,CWG Core,LWG Library
P2897R6 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-11-18 2024-12 P2897R5 LEWG Library Evolution,LWG Library
P2897R7 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2024-11-22 2024-12 P2897R6 LWG Library
P2900R11 Contracts for C++ Joshua Berne 2024-11-19 2024-12 P2900R10 EWG Evolution,LEWG Library Evolution
P2900R12 Contracts for C++ Joshua Berne 2024-12-17 2024-12 P2900R11 CWG Core,LWG Library
P2996R8 Reflection for C++26 Barry Revzin 2024-12-16 2024-12 P2996R7 EWG Evolution
P3008R3 Atomic floating-point min/max Gonzalo Brito Gadeschi 2024-11-18 2024-12 P3008R2 LWG Library
P3016R5 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2024-12-16 2024-12 P3016R4 LEWG Library Evolution
P3019R11 Vocabulary Types for Composite Class Design Jonathan Coe 2024-11-23 2024-12 P3019R10 LEWG Library Evolution,LWG Library
P3037R4 constexpr std::shared_ptr Paul Keir 2024-10-21 2024-12 P3037R3 LEWG Library Evolution
P3045R4 Quantities and units library Mateusz Pusz 2024-11-15 2024-12 P3045R3 SG6 Numerics,SG16 Unicode,LEWG Library Evolution
P3050R3 Fix C++26 by optimizing linalg::conjugated for noncomplex value types Mark Hoemmen 2024-10-29 2024-12 P3050R2 LEWG Library Evolution
P3051R3 WITHDRAWN: Structured Response Files René Ferdinand Rivera Morell 2024-12-16 2024-12 P3051R2 All of WG21
P3068R5 Allowing exception throwing in constant-evaluation Hana Dusíková 2024-11-19 2024-12 P3068R4 CWG Core,LWG Library
P3068R6 Allowing exception throwing in constant-evaluation Hana Dusíková 2024-11-19 2024-12 P3068R5 CWG Core,LWG Library
P3074R5 trivial unions (was std::uninitialized<T>) Barry Revzin 2024-12-17 2024-12 P3074R4 EWG Evolution
P3096R4 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-11-21 2024-12 P3096R3 LEWG Library Evolution
P3096R5 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-12-14 2024-12 P3096R4 LEWG Library Evolution,LWG Library
P3098R1 Contracts for C++: Postcondition captures Timur Doumler 2024-12-11 2024-12 P3098R0 SG21 Contracts,EWG Evolution
P3111R1 Atomic Reduction Operations Gonzalo Brito Gadeschi 2024-11-18 2024-12 P3111R0 SG1 Concurrency and Parallelism
P3111R2 Atomic Reduction Operations Gonzalo Brito Gadeschi 2024-11-25 2024-12 P3111R1 EWG Evolution,LEWG Library Evolution
P3117R1 Extending Conditionally Borrowed Zach Laine 2024-12-14 2024-12 P3117R0 SG9 Ranges,LEWG Library Evolution
P3125R2 constexpr pointer tagging Hana Dusíková 2024-11-27 2024-12 P3125R1 LEWG Library Evolution
P3136R1 Retiring niebloids Tim Song 2024-11-18 2024-12 P3136R0 LWG Library
P3138R4 views::cache_latest Tim Song 2024-10-23 2024-12 P3138R3 LEWG Library Evolution,LWG Library
P3138R5 views::cache_latest Tim Song 2024-11-18 2024-12 P3138R4 LWG Library
P3146R2 Clarifying std::variant converting construction Giuseppe D'Angelo 2024-11-02 2024-12 P3146R1 LEWG Library Evolution,LWG Library
P3149R7 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-11-18 2024-12 P3149R6 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3149R8 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-11-22 2024-12 P3149R7 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3152R1 Add missing constructors and assignment for indirect and polymorphic Jonathan Coe 2024-11-21 2024-12 P3152R0 LEWG Library Evolution
P3179R4 C++ parallel range algorithms Ruslan Arutyunyan 2024-12-10 2024-12 P3179R3 LEWG Library Evolution
P3185R0 A proposed direction for C++ Standard Networking based on IETF TAPS Thomas Rodgers 2024-12-14 2024-12   SG4 Networking
P3204R0 Why Contracts? Joshua Berne 2024-11-07 2024-12   SG21 Contracts,EWG Evolution
P3222R1 Fix C++26 by adding transposed special cases for P2642 layouts Mark Hoemmen 2024-10-29 2024-12 P3222R0 LEWG Library Evolution
P3227R1 Fixing the library API for contract violation handling Gašper Ažman 2024-10-24 2024-12 P3227R0 SG21 Contracts,LEWG Library Evolution
P3230R1 views::unchecked_(take|drop) Hewill Kang 2024-12-01 2024-12 P3230R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P3232R1 User-defined erroneous behaviour Thomas Köppe 2024-12-15 2024-12 P3232R0 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,LEWG Library Evolution
P3237R2 Matrix Representation of Contract Semantics Andrei Zissu 2024-10-23 2024-12 P3237R1 SG21 Contracts
P3247R2 Deprecate the notion of trivial types Jens Maurer 2024-10-28 2024-12 P3247R1 CWG Core,LWG Library
P3261R2 Revisiting `const`-ification in Contract Assertions Joshua Berne 2024-11-25 2024-12 P3261R1 SG21 Contracts,EWG Evolution
P3284R2 `write_env` and `unstoppable` Sender Adaptors Eric Niebler 2024-11-21 2024-12 P3284R1 LEWG Library Evolution
P3287R2 Exploration of namespaces for std::simd Matthias Kretz 2024-11-13 2024-12 P3287R1 LEWG Library Evolution
P3296R3 let_async_scope Anthony Williams 2024-11-19 2024-12 P3296R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3299R3 Range constructors for std::simd Daniel Towner 2024-12-17 2024-12 P3299R2 LEWG Library Evolution,LWG Library
P3309R3 constexpr atomic and atomic_ref Hana Dusíková 2024-12-16 2024-12 P3309R2 LWG Library
P3310R5 Solving issues introduced by relaxed template template parameter matching Matheus Izvekov 2024-11-21 2024-12 P3310R4 EWG Evolution,CWG Core
P3319R2 Add an iota object for simd (and more) Matthias Kretz 2024-11-19 2024-12 P3319R1 LEWG Library Evolution
P3323R1 cv-qualified types in atomic and atomic_ref Gonzalo Brito Gadeschi 2024-11-18 2024-12 P3323R0 LWG Library
P3325R4 A Utility for Creating Execution Environments Eric Niebler 2024-11-21 2024-12 P3325R3 LWG Library
P3325R5 A Utility for Creating Execution Environments Eric Niebler 2024-11-22 2024-12 P3325R4 LWG Library
P3329R0 Healing the C++ Filter View Nicolai Josuttis 2024-11-13 2024-12   SG9 Ranges,LEWG Library Evolution,LWG Library
P3335R3 Structured Core Options René Ferdinand Rivera Morell 2024-11-21 2024-12 P3335R2 SG15 Tooling
P3335R4 WITHDRAWN: Structured Core Options René Ferdinand Rivera Morell 2024-12-16 2024-12 P3335R3 All of WG21
P3339R1 WITHDRAWN: C++ Ecosystem IS Open License René Ferdinand Rivera Morell 2024-12-16 2024-12 P3339R0 All of WG21
P3342R1 Working Draft, Standard for C++ Ecosystem René Ferdinand Rivera Morell 2024-11-21 2024-12 P3342R0 EWG Evolution,CWG Core
P3342R2 WITHDRAWN: Working Draft, Standard for C++ Ecosystem René Ferdinand Rivera Morell 2024-12-16 2024-12 P3342R1 All of WG21
P3355R2 Fix submdspan for C++26 Mark Hoemmen 2024-10-29 2024-12 P3355R1 LWG Library
P3367R1 constexpr coroutines Hana Dusíková 2024-11-29 2024-12 P3367R0 CWG Core
P3367R2 constexpr coroutines Hana Dusíková 2024-12-16 2024-12 P3367R1 EWG Evolution,LWG Library
P3371R3 Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS Mark Hoemmen 2024-10-29 2024-12 P3371R2 LEWG Library Evolution
P3378R1 constexpr exception types Hana Dusíková 2024-12-16 2024-12 P3378R0 LEWG Library Evolution
P3380R1 Extending support for class types as non-type template parameters Barry Revzin 2024-12-17 2024-12 P3380R0 EWG Evolution
P3383R1 mdspan.at() Stephan Lachnit 2024-11-23 2024-12 P3383R0 LEWG Library Evolution
P3385R2 Attributes reflection Aurelien Cassagnes 2024-12-11 2024-12 P3385R1 SG7 Reflection
P3386R1 Static Analysis of Contracts with P2900 Joshua Berne 2024-11-25 2024-12 P3386R0 EWG Evolution
P3396R1 std::execution wording fixes Lewis Baker 2024-11-19 2024-12 P3396R0 LWG Library
P3409R1 Enabling more efficient stop-token based cancellation of senders Lewis Baker 2024-11-17 2024-12 P3409R0 SG1 Concurrency and Parallelism
P3422R1 Allow main function in named modules Chuanqi Xu 2024-11-27 2024-12 P3422R0 EWG Evolution
P3424R0 Define Delete With Throwing Exception Specification Alisdair Meredith 2024-12-17 2024-12   LEWGI SG18: LEWG Incubator,EWG Evolution
P3427R1 Hazard Pointer Synchronous Reclamation Maged Michael 2024-12-11 2024-12 P3427R0 SG1 Concurrency and Parallelism
P3428R1 Hazard Pointer Batches Maged Michael 2024-12-11 2024-12 P3428R0 SG1 Concurrency and Parallelism
P3429R1 Reflection header should minimize standard library dependencies Jonathan Müller 2024-11-29 2024-12 P3429R0 LEWG Library Evolution
P3430R1 simd issues: explicit, unsequenced, identity-element position, and members of disabled simd Matthias Kretz 2024-11-22 2024-12 P3430R0 LEWG Library Evolution
P3436R1 Strategy for removing safety-related undefined behavior by default Herb Sutter 2024-11-07 2024-12 P3436R0 SG23 Safety and Security,EWG Evolution
P3437R1 Proposed principles: Reflect C++, generate C++ (by default) Herb Sutter 2024-11-07 2024-12 P3437R0 SG7 Reflection,EWG Evolution
P3449R1 constexpr std::generator Hana Dusíková 2024-12-16 2024-12 P3449R0 LWG Library
P3466R1 (Re)affirm design principles for future C++ evolution Herb Sutter 2024-11-24 2024-12 P3466R0 EWG Evolution
P3468R0 2024-10 Library Evolution Poll Outcomes Inbal Levi 2024-12-16 2024-12   LEWG Library Evolution
P3471R1 Standard Library Hardening Konstantin Varlamov 2024-11-21 2024-12 P3471R0 SG23 Safety and Security,LEWG Library Evolution
P3471R2 Standard Library Hardening Konstantin Varlamov 2024-12-14 2024-12 P3471R1 SG23 Safety and Security,LEWG Library Evolution
P3477R1 There are exactly 8 bits in a byte JF Bastien 2024-11-21 2024-12 P3477R0 SG22 Compatibility,LEWG Library Evolution,CWG Core
P3480R1 std::simd is a range Matthias Kretz 2024-11-13 2024-12 P3480R0 SG9 Ranges,LEWG Library Evolution
P3480R2 std::simd is a range Matthias Kretz 2024-11-22 2024-12 P3480R1 LEWG Library Evolution
P3482R0 Proposed API for creating TAPS based networking connections Thomas W Rodgers 2024-12-14 2024-12   SG4 Networking
P3483R0 Contracts for C++: Pre-Wroclaw technical clarifications Timur Doumler 2024-10-31 2024-12   SG21 Contracts,EWG Evolution
P3483R1 Contracts for C++: Pre-Wroclaw technical clarifications Timur Doumler 2024-11-04 2024-12 P3483R0 SG21 Contracts,EWG Evolution
P3484R0 Postconditions odr-using a parameter modified in an overriding function Timur Doumler 2024-11-01 2024-12   SG21 Contracts,EWG Evolution
P3484R1 Postconditions odr-using a parameter modified in an overriding function Timur Doumler 2024-11-07 2024-12 P3484R0 SG21 Contracts,EWG Evolution
P3484R2 Postconditions odr-using a parameter modified in an overriding function Timur Doumler 2024-11-14 2024-12 P3484R1 SG21 Contracts,EWG Evolution
P3485R0 Grouping using declarations with braces Barry Revzin 2024-10-29 2024-12   EWG Evolution
P3487R0 Postconditions odr-using a parameter that may be passed in registers Timur Doumler 2024-11-07 2024-12   SG21 Contracts,EWG Evolution
P3488R0 Floating-Point Excess Precision Matthias Kretz 2024-11-14 2024-12   SG6 Numerics,EWG Evolution
P3488R1 Floating-Point Excess Precision Matthias Kretz 2024-11-20 2024-12 P3488R0 EWG Evolution
P3489R0 Postconditions odr-using a parameter of dependent type Timur Doumler 2024-11-07 2024-12   SG21 Contracts,EWG Evolution
P3490R0 Justification for ranges as the output of parallel range algorithms Alexey Kukanov 2024-11-14 2024-12   SG1 Concurrency and Parallelism,SG9 Ranges
P3491R0 define_static_{string,object,array} Barry Revzin 2024-12-15 2024-12   LEWG Library Evolution
P3492R0 Sized deallocation for placement new Lauri Vasama 2024-11-22 2024-12   EWGI SG17: EWG Incubator
P3493R0 Ruminations on reflection and access Ville Voutilainen 2024-11-10 2024-12   SG7 Reflection,LEWG Library Evolution
P3495R0 Remarks on Basic Statistics, P1708R9 Oliver Rosten 2024-11-13 2024-12   SG19 Machine Learning,LEWG Library Evolution,LWG Library
P3497R0 Guarded Objects Jan Wilmans 2024-11-11 2024-12   SG1 Concurrency and Parallelism
P3498R0 Stop the Bleeding but, First, Do No Harm Gabriel Dos Reis 2024-11-14 2024-12   SG23 Safety and Security,EWG Evolution
P3502R0 Slides for D2900R11 - Contracts for C++ Timur Doumler 2024-11-18 2024-12   EWG Evolution
P3503R0 Make type-erased allocator use in promise and packaged_task consistent Nicolas Morales 2024-11-21 2024-12   LEWG Library Evolution
P3504R0 C++ Standard Library Ready Issues to be moved in Wroclaw, Nov. 2024 Jonathan Wakely 2024-11-18 2024-12   All of WG21
P3508R0 Wording for constexpr for specialized memory algorithms Giuseppe D'Angelo 2024-11-20 2024-12   LWG Library
P3510R0 Leftover properties of `this` in constructor preconditions Nathan Myers 2024-11-20 2024-12   SG21 Contracts
P3510R1 Leftover properties of `this` in constructor preconditions Nathan Myers 2024-11-21 2024-12 P3510R0 SG21 Contracts
P3510R2 Leftover properties of `this` in constructor preconditions Nathan Myers 2024-12-04 2024-12 P3510R1 SG21 Contracts
P3517R0 Slides presented to LEWG on trivial relocation in Wroclaw Alisdair Meredith 2024-11-20 2024-12   LEWG Library Evolution
P3518R0 Slides for Standardized Constexpr Type Ordering Gašper Ažman 2024-11-20 2024-12   EWG Evolution
P3519R0 Slides for P3425 presentation to LEWG Lewis Baker 2024-11-20 2024-12   LEWG Library Evolution
P3520R0 Wroclaw Technical Fixes to Contracts Timur Doumler 2024-11-21 2024-12   SG21 Contracts,EWG Evolution
P3521R0 Pattern Matching: Customization Point for Open Sum Types Michael Park 2024-12-17 2024-12   EWG Evolution,LEWG Library Evolution
P3524R0 Core Language Working Group "ready" Issues for the November, 2024 meeting Jens Maurer 2024-11-23 2024-12   CWG Core
P3525R0 Explicit Implicit Template Regions Barry Revzin 2024-12-16 2024-12   EWG Evolution
P3527R0 Pattern Matching: *variant-like* and `std::expected` Michael Park 2024-12-17 2024-12   EWG Evolution,LEWG Library Evolution
P3530R0 Intrinsic for reading uninitialized memory Boleyn Su 2024-12-17 2024-12   EWGI SG17: EWG Incubator,EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
]]>
Tue, 17 Dec 2024 23:51:25 +0000 Administrator
Smart Pointers and the Pointer to Implementation Idiom -- Andreas Fertig https://isocpp.org//blog/2024/10/smart-pointers-and-the-pointer-to-implementation-idiom-andreas-fertig https://isocpp.org//blog/2024/10/smart-pointers-and-the-pointer-to-implementation-idiom-andreas-fertig me.pngA post I wrote back in 2023 When an empty destructor is required resulted in feedback that I'd like to address in today's post.

Smart Pointers and the Pointer to Implementation Idiom

by Andreas Fertig

From the article:

In the 2023 post, I briefly mentioned PImpl idiom. I did not intend to make it the theme of the post. However, I got various questions about PImpl and smart pointers.

The goal of PImpl is to hide implementation details from clients. Since you can declare a pointer of an unknown class, you can shift the entire implementation of such an anonymous class into a .cpp file. That way, no client can see any details. Another benefit is that changes to that .cpp file result in only minor recompiles. Maintaining the same in a header file would cause all .cpp files, including this header, to recompile. At least the speed-up part is since C++20's modules are no longer necessary. And as long as you don't want to hide classified implementation in the .cpp file modules, it also gives you the ability to mark constructs as private.

 

]]>
Mon, 28 Oct 2024 17:32:50 +0000 Blog Staff
2024-10 Mailing Available https://isocpp.org//blog/2024/10/2024-10-mailing-available https://isocpp.org//blog/2024/10/2024-10-mailing-available The 2024-10 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4991 2025 Sofia Meeting Invitation and Information Vassil Vassilev 2024-10-16 2024-10   All of WG21
N4993 Working Draft, Programming Languages -- C++ Thomas Köppe 2024-10-16 2024-10   All of WG21
N4994 Editors' Report, Programming Languages -- C++ Thomas Köppe 2024-10-16 2024-10   All of WG21
P0260R11 C++ Concurrent Queues Detlef Vollmann 2024-10-12 2024-10 P0260R10 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0707R5 Metaclass functions for generative C++ Herb Sutter 2024-10-15 2024-10 P0707R4 SG7 Reflection,EWG Evolution
P0876R18 fiber_context - fibers without scheduler Oliver Kowalke 2024-10-16 2024-10 P0876R17 EWG Evolution,CWG Core,LWG Library
P1144R12 std::is_trivially_relocatable Arthur O'Dwyer 2024-10-14 2024-10 P1144R11 EWGI SG17: EWG Incubator
P1255R14 A view of 0 or 1 elements: views::nullable And a concept to constrain maybes Steve Downey 2024-10-16 2024-10 P1255R13 LEWG Library Evolution,LWG Library
P1306R3 Expansion statements Dan Katz 2024-10-14 2024-10 P1306R2 EWG Evolution
P1494R4 Partial program correctness S. Davis Herring 2024-10-15 2024-10 P1494R3 SG22 Compatibility,EWG Evolution,LEWG Library Evolution,CWG Core
P1708R9 Basic Statistics Richard Dosselmann 2024-10-14 2024-10 P1708R8 SG6 Numerics,SG14 Low Latency,SG19 Machine Learning,LEWG Library Evolution,LWG Library
P1729R5 Text Parsing Elias Kosunen 2024-10-15 2024-10 P1729R4 SG16 Unicode,LEWG Library Evolution
P1839R6 Accessing object representations Brian Bi 2024-10-14 2024-10 P1839R5 CWG Core
P1928R12 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2024-10-11 2024-10 P1928R11 LWG Library
P2079R5 System execution context Lucian Radu Teodorescu 2024-10-16 2024-10 P2079R4 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2319R2 Prevent path presentation problems Victor Zverovich 2024-09-28 2024-10 P2319R1 LEWG Library Evolution
P2392R3 Pattern matching using is and as Herb Sutter 2024-10-16 2024-10 P2392R2 EWG Evolution
P2434R2 Nondeterministic pointer provenance S. Davis Herring 2024-10-15 2024-10 P2434R1 SG22 Compatibility,EWG Evolution,CWG Core
P2645R0 path_view: a design that took a wrong turn Victor Zverovich 2024-10-12 2024-10   LEWG Library Evolution
P2664R8 Proposal to extend std::simd with permutation API Daniel Towner 2024-10-15 2024-10 P2664R7 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2688R3 Pattern Matching: `match` Expression Michael Park 2024-10-16 2024-10 P2688R2 EWG Evolution
P2719R1 Type-aware allocation and deallocation functions Louis Dionne 2024-10-16 2024-10 P2719R0 EWG Evolution
P2728R7 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2024-10-07 2024-10 P2728R6 SG9 Ranges,SG16 Unicode,LEWG Library Evolution
P2746R6 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2024-10-14 2024-10 P2746R5 SG6 Numerics,LEWG Library Evolution
P2769R3 get_element customization point object Ruslan Arutyunyan 2024-10-16 2024-10 P2769R2 LEWG Library Evolution
P2786R8 Trivial Relocatability For C++26 Mungo Gill 2024-10-16 2024-10 P2786R7 EWG Evolution,LEWG Library Evolution
P2841R5 Concept and variable-template template-parameters Corentin Jabot 2024-10-16 2024-10 P2841R4 CWG Core
P2846R4 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2024-10-15 2024-10 P2846R3 LEWG Library Evolution
P2900R10 Contracts for C++ Joshua Berne 2024-10-13 2024-10 P2900R9 EWG Evolution,LEWG Library Evolution
P2900R9 Contracts for C++ Joshua Berne 2024-10-13 2024-10 P2900R8 EWG Evolution,LEWG Library Evolution
P2933R2 std::simd overloads for <bit> header Daniel Towner 2024-10-16 2024-10 P2933R1 LWG Library
P2957R2 Contracts and coroutines Andrzej Krzemieński 2024-10-14 2024-10 P2957R1 SG21 Contracts,EWG Evolution
P2977R2 Build database files Ben Boeckel 2024-10-15 2024-10 P2977R1 SG15 Tooling
P2988R8 std::optional<T&> Steve Downey 2024-10-15 2024-10 P2988R7 LEWG Library Evolution,LWG Library
P2996R6 Reflection for C++26 Barry Revzin 2024-10-09 2024-10 P2996R5 EWG Evolution
P2996R7 Reflection for C++26 Barry Revzin 2024-10-12 2024-10 P2996R6 EWG Evolution
P2998R0 CTAD for function parameter types James Touton 2024-10-15 2024-10   EWGI SG17: EWG Incubator,EWG Evolution
P3019R10 Vocabulary Types for Composite Class Design Jonathan Coe 2024-09-30 2024-10 P3019R9 LEWG Library Evolution,LWG Library
P3045R2 Quantities and units library Mateusz Pusz 2024-10-09 2024-10 P3045R1 SG6 Numerics,SG16 Unicode,LEWG Library Evolution
P3045R3 Quantities and units library Mateusz Pusz 2024-10-15 2024-10 P3045R2 SG6 Numerics,SG16 Unicode,LEWG Library Evolution
P3049R1 node-handles for lists Michael Florian Hava 2024-10-15 2024-10 P3049R0 LEWG Library Evolution
P3070R1 Formatting enums Victor Zverovich 2024-10-13 2024-10 P3070R0 LEWG Library Evolution
P3081R0 Core safety Profiles: Specification, adoptability, and impact Herb Sutter 2024-10-15 2024-10   SG15 Tooling,SG23 Safety and Security,EWG Evolution
P3091R3 Better lookups for `map` and `unordered_map` Pablo Halpern 2024-10-14 2024-10 P3091R2 LEWG Library Evolution
P3094R4 std::basic_fixed_string Mateusz Pusz 2024-10-09 2024-10 P3094R3 SG16 Unicode,LEWG Library Evolution
P3094R5 std::basic_fixed_string Mateusz Pusz 2024-10-15 2024-10 P3094R4 LEWG Library Evolution
P3098R0 Contracts for C++: Postcondition captures Timur Doumler 2024-10-14 2024-10   SG21 Contracts,EWG Evolution
P3100R1 Undefined and erroneous behaviour are contract violations Timur Doumler 2024-10-16 2024-10 P3100R0 SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3100R1 Undefined and erroneous behaviour are contract violations Timur Doumler 2024-10-16 2024-10 P3100R0 SG21 Contracts,SG23 Safety and Security,EWG Evolution
P3125R1 constexpr pointer tagging Hana Dusíková 2024-10-16 2024-10 P3125R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3138R3 views::cache_latest Tim Song 2024-10-15 2024-10 P3138R2 LEWG Library Evolution
P3149R6 async_scope -- Creating scopes for non-sequential concurrency Ian Petersen 2024-10-15 2024-10 P3149R5 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3152R0 Add missing constructors and assignment for indirect and polymorphic Jonathan Coe 2024-09-30 2024-10   LEWG Library Evolution
P3160R2 An allocator-aware `inplace_vector` Pablo Halpern 2024-10-14 2024-10 P3160R1 LEWG Library Evolution
P3179R3 C++ parallel range algorithms Ruslan Arutyunyan 2024-10-16 2024-10 P3179R2 SG1 Concurrency and Parallelism,SG9 Ranges,LEWG Library Evolution
P3227R0 Contracts for C++: Fixing the contract violation handling API Gašper Ažman 2024-10-16 2024-10   SG21 Contracts,LEWG Library Evolution
P3237R1 Matrix Representation of Contract Semantics Andrei Zissu 2024-10-16 2024-10 P3237R0 SG21 Contracts
P3261R0 Revisiting `const`-ification in Contract Assertions Joshua Berne 2024-10-02 2024-10   SG21 Contracts,EWG Evolution
P3261R1 Revisiting `const`-ification in Contract Assertions Joshua Berne 2024-10-13 2024-10 P3261R0 SG21 Contracts,EWG Evolution
P3271R1 Function Types with Usage (Contracts for Function Pointers) Lisa Lippincott 2024-10-14 2024-10 P3271R0 SG21 Contracts
P3287R1 Exploration of namespaces for std::simd Matthias Kretz 2024-10-15 2024-10 P3287R0 LEWG Library Evolution
P3293R1 Splicing a base class subobject Barry Revzin 2024-10-13 2024-10 P3293R0 EWG Evolution
P3294R2 Code Injection with Token Sequences Barry Revzin 2024-10-15 2024-10 P3294R1 SG7 Reflection,EWG Evolution
P3295R2 Freestanding constexpr containers and constexpr exception types Ben Craig 2024-10-12 2024-10 P3295R1 LEWG Library Evolution
P3296R2 let_async_scope Anthony Williams 2024-10-14 2024-10 P3296R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P3298R1 Implicit user-defined conversion functions as operator.() Bengt Gustafsson 2024-10-15 2024-10 P3298R0 EWG Evolution
P3299R2 Range constructors for std::simd Daniel Towner 2024-10-16 2024-10 P3299R1 LEWG Library Evolution
P3310R3 Solving partial ordering issues introduced by P0522R0 Matheus Izvekov 2024-10-14 2024-10 P3310R2 EWG Evolution,CWG Core
P3310R4 Solving issues introduced by P0522R0 Matheus Izvekov 2024-10-15 2024-10 P3310R3 EWG Evolution,CWG Core
P3324R0 Attributes for namespace aliases, template parameters, and lambda captures Tom Honermann 2024-10-14 2024-10   EWG Evolution
P3327R0 Contract assertions on function pointers Timur Doumler 2024-10-16 2024-10   SG21 Contracts,EWG Evolution
P3334R0 Cross Static Variables Coral Kashri 2024-10-15 2024-10   SG7 Reflection,EWGI SG17: EWG Incubator
P3335R2 Structured Core Options René Ferdinand Rivera Morell 2024-10-15 2024-10 P3335R1 SG15 Tooling
P3346R0 thread_local means fiber-specific Nat Goodspeed 2024-10-16 2024-10   EWG Evolution,LEWG Library Evolution
P3348R1 C++26 should refer to C23 not C17 Jonathan Wakely 2024-10-14 2024-10 P3348R0 SG6 Numerics,LEWG Library Evolution
P3349R0 Converting contiguous iterators to pointers Jonathan Wakely 2024-10-16 2024-10   LEWG Library Evolution
P3351R1 views::scan Yihe Li 2024-10-09 2024-10 P3351R0 SG9 Ranges
P3352R0 Taming the Demons (C++ version) - Undefined Behavior and Partial Program Correctness Andrew Tomazos, Martin Uecker 2024-09-19 2024-10   SG22 Compatibility,EWG Evolution
P3355R1 Fix submdspan for C++26 Mark Hoemmen 2024-10-15 2024-10 P3355R0 LWG Library
P3367R0 constexpr coroutines Hana Dusíková 2024-10-16 2024-10   EWG Evolution,LEWG Library Evolution
P3370R1 Add new library headers from C23 Jens Maurer 2024-10-06 2024-10 P3370R0 LEWG Library Evolution
P3371R2 Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS Mark Hoemmen 2024-10-14 2024-10 P3371R1 LEWG Library Evolution
P3372R2 constexpr containers and adapters Hana Dusíková 2024-10-08 2024-10 P3372R1 LEWG Library Evolution
P3375R1 Reproducible floating-point results Guy Davidson 2024-10-08 2024-10 P3375R0 SG6 Numerics,SG14 Low Latency,LEWG Library Evolution
P3376R0 Contract assertions versus static analysis and 'safety' Andrzej Krzemieński 2024-10-14 2024-10   SG21 Contracts,EWG Evolution
P3378R0 constexpr exception types Hana Dusíková 2024-10-14 2024-10   LEWG Library Evolution
P3385R1 Attributes reflection Aurelien Cassagnes 2024-10-14 2024-10 P3385R0 SG7 Reflection
P3386R0 Static Analysis of Contracts with P2900 Joshua Berne 2024-10-15 2024-10   EWG Evolution
P3387R0 Contract assertions on coroutines Timur Doumler 2024-10-09 2024-10   SG21 Contracts,EWG Evolution
P3394R0 Annotations for Reflection Daveed Vandevoorde 2024-10-14 2024-10   SG7 Reflection,EWG Evolution
P3399R0 Adjusting Electronic Polls to a Hybrid Workflow Inbal Levi 2024-10-16 2024-10   LEWG Library Evolution,All of WG21
P3402R1 A Safety Profile Verifying Class Initialization Marc-André Laverdière 2024-10-14 2024-10 P3402R0 SG23 Safety and Security
P3403R0 The Undefined Behavior Question Andrew Tomazos 2024-09-19 2024-10   EWG Evolution
P3404R0 std::at : Range-checked accesses to arbitrary containers Andre Kostur 2024-10-11 2024-10   SG9 Ranges,SG23 Safety and Security
P3405R0 Out-of-order designated initializers Elias Kosunen 2024-09-28 2024-10   EWG Evolution
P3406R0 We need better performance testing Bjarne Stroustrup 2024-09-24 2024-10   All of WG21
P3407R0 Make idiomatic usage of `offsetof` well-defined Brian Bi 2024-10-14 2024-10   EWG Evolution
P3409R0 Enabling more efficient stop-token based cancellation of senders Lewis Baker 2024-10-16 2024-10   SG1 Concurrency and Parallelism
P3411R0 `any_view` Hui Xie 2024-09-29 2024-10   SG9 Ranges,LEWG Library Evolution
P3412R0 String interpolation Bengt Gustafsson 2024-10-15 2024-10   EWGI SG17: EWG Incubator,EWG Evolution
P3413R0 A more flexible optional::value_or (else!) Corentin Jabot 2024-10-15 2024-10   LEWG Library Evolution
P3415R0 Range interface in std::optional breaks code! Andrzej Krzemieński 2024-10-10 2024-10   LEWG Library Evolution
P3416R0 exception_ptr_cast: Add && = delete overload Gor Nishanov 2024-10-14 2024-10   LEWG Library Evolution
P3417R0 Improving the handling of exceptions thrown from contract predicates Gašper Ažman 2024-10-16 2024-10   SG21 Contracts,EWG Evolution
P3419R0 Reflection Syntax Options Summary Michael Levine 2024-10-11 2024-10   SG7 Reflection,EWGI SG17: EWG Incubator,EWG Evolution
P3420R0 Reflection of Templates Andrei Alexandrescu 2024-10-16 2024-10   SG7 Reflection
P3421R0 Consteval destructors Ben Craig 2024-10-12 2024-10   SG7 Reflection,EWG Evolution
P3422R0 Allow main function in named modules   2024-10-09 2024-10   EWG Evolution
P3423R0 Extending User-Generated Diagnostic Messages Yihe Li 2024-10-15 2024-10   EWG Evolution
P3425R0 Reducing operation-state sizes for subobject child operations Lewis Baker 2024-10-16 2024-10   LEWG Library Evolution
P3427R0 Hazard Pointer Synchronous Reclamation Maged Michael 2024-10-11 2024-10   SG1 Concurrency and Parallelism
P3428R0 Hazard Pointer Batches Maged Michael 2024-10-11 2024-10   SG1 Concurrency and Parallelism
P3429R0 Reflection header should minimize standard library dependencies Jonathan Müller 2024-10-16 2024-10   LEWG Library Evolution
P3430R0 simd issues: explicit, unsequenced, identity-element position, and members of disabled simd Matthias Kretz 2024-10-15 2024-10   LEWG Library Evolution
P3433R0 Allocator Support for Operation States Dietmar Kuehl 2024-10-14 2024-10   LEWG Library Evolution
P3435R0 Reflection and meta-programming Jean-Baptiste VALLON HOARAU 2024-10-14 2024-10   SG7 Reflection
P3436R0 Strategy for removing safety-related undefined behavior by default Herb Sutter 2024-10-16 2024-10   SG23 Safety and Security,EWG Evolution
P3437R0 Proposed default principles: Reflect C++, Generate C++ Herb Sutter 2024-10-16 2024-10   SG7 Reflection,EWG Evolution
P3438R0 Make integral overloads of std::to_string constexpr Andreas Fertig 2024-10-13 2024-10   LEWG Library Evolution
P3439R0 Chained comparisons: Safe, correct, efficient Herb Sutter 2024-10-15 2024-10   EWG Evolution
P3440R0 Add n_elements named constructor to std::simd Daniel Towner 2024-10-15 2024-10   LEWG Library Evolution
P3441R0 Rename simd_split to simd_chunk Daniel Towner 2024-10-15 2024-10   LEWG Library Evolution
P3442R0 [[invalidate_dereferencing]] attribute Patrice Roy 2024-10-14 2024-10   SG14 Low Latency,LEWG Library Evolution
P3443R0 Reflection on SG21 2024 Process Ran Regev 2024-10-14 2024-10   SG21 Contracts,EWG Evolution
P3444R0 Memory safety without lifetime parameters Sean Baxter 2024-10-14 2024-10   SG23 Safety and Security
P3445R0 Add utilities for easier type/bit casting in std::simd Daniel Towner 2024-10-16 2024-10   LEWG Library Evolution
P3446R0 Profile invalidation - eliminating dangling pointers Bjarne Stroustrup 2024-10-14 2024-10   SG23 Safety and Security
P3447R0 Profiles syntax Bjarne Stroustrup 2024-10-14 2024-10   SG23 Safety and Security
P3449R0 constexpr std::generator Hana Dusíková 2024-10-14 2024-10   LEWG Library Evolution
P3450R0 Extending is_within_lifetime Barry Revzin 2024-10-14 2024-10   LEWG Library Evolution
P3451R0 A Suggestion for Reflection Access Control Barry Revzin 2024-10-14 2024-10   EWG Evolution
P3454R0 Revising Atomic Max/Min Operations Michael Wong 2024-10-15 2024-10   SG1 Concurrency and Parallelism
P3455R0 SG14: Low Latency/Games/Embedded/Financial Trading virtual Meeting Minutes 2024/6/12-2024/10/9 Michael Wong 2024-10-14 2024-10   SG14 Low Latency
P3456R0 system_scheduler on Win32, Darwin and Linux Gor Nishanov 2024-10-15 2024-10   SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P3457R0 SG19: Machine Learning virtual Meeting Minutes to 2024/06/13-2024/10/10 Michael Wong 2024-10-14 2024-10   SG19 Machine Learning
P3460R0 Contracts Implementors Report Eric Fiselier, Nina Dinka Ranns, Iain Sandoe 2024-10-16 2024-10   SG21 Contracts,EWG Evolution,CWG Core
P3465R0 Pursue P1179 as a Lifetime TS Herb Sutter 2024-10-15 2024-10   SG23 Safety and Security,EWG Evolution
P3466R0 (Re)affirm design principles for future C++ evolution Herb Sutter 2024-10-16 2024-10   EWG Evolution
P3467R0 2024-10 Library Evolution Polls Inbal Levi 2024-10-16 2024-10   LEWG Library Evolution
P3469R0 Virtual deducing this Mike Spertus 2024-10-16 2024-10   EWG Evolution
P3470R0 Interface-Unit-Only Module Library Support Daniel Ruoso 2024-10-15 2024-10   SG15 Tooling,EWG Evolution
P3471R0 Standard library hardening Konstantin Varlamov 2024-10-15 2024-10   SG23 Safety and Security,LEWG Library Evolution
P3472R0 Make fiber_context::can_resume() const Andrzej Krzemieński 2024-10-15 2024-10   LEWG Library Evolution
P3473R0 Splicing Should Respect Access Control Steve Downey 2024-10-16 2024-10   EWG Evolution
P3474R0 std::arguments Jeremy Rifkin 2024-10-15 2024-10   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P3475R0 Defang and deprecate memory_order::consume Hans Boehm 2024-10-15 2024-10   SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution,CWG Core,LWG Library
P3476R0 Slides for P2688R2 - Pattern Matching: `match` Expression Michael Park 2024-10-16 2024-10   EWG Evolution
P3477R0 There are exactly 8 bits in a byte JF Bastien 2024-10-16 2024-10   SG22 Compatibility,EWG Evolution,LEWG Library Evolution
P3478R0 Constification should not be part of the MVP John Spicer 2024-10-16 2024-10   SG21 Contracts,EWG Evolution
P3479R0 Enabling C pragma support in C++ Joshua Cranmer 2024-10-16 2024-10   SG6 Numerics,EWGI SG17: EWG Incubator,SG22 Compatibility
P3480R0 std::simd is a range Matthias Kretz 2024-10-16 2024-10   SG9 Ranges,LEWG Library Evolution
P3481R0 Summarizing std::execution::bulk() issues Lucian Radu Teodorescu 2024-10-16 2024-10   SG1 Concurrency and Parallelism,LEWG Library Evolution
]]>
Fri, 18 Oct 2024 04:37:27 +0000 Administrator
AMA with Herb Sutter - Meeting C++ live https://isocpp.org//blog/2024/10/ama-with-herb-sutter-meeting-cpp-live https://isocpp.org//blog/2024/10/ama-with-herb-sutter-meeting-cpp-live Meeting C++ hosted an online AMA with Herb Sutter on Friday.

AMA with Herb Sutter - Meeting C++ live

by Jens Weller & Herb Sutter

Video:

]]>
Sat, 12 Oct 2024 12:57:37 +0000 Meeting C++
2024-09 Mailing Available https://isocpp.org//blog/2024/09/2024-09-mailing-available https://isocpp.org//blog/2024/09/2024-09-mailing-available The 2024-09 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4990 Business Plan and Convener's Report Herb Sutter 2024-08-26 2024-09   All of WG21
P0472R2 Put std::monostate in <utility> David Sankel 2024-09-09 2024-09 P0472R1 LEWG Library Evolution
P1030R7 std::filesystem::path_view Niall Douglas 2024-09-06 2024-09 P1030R6 LEWG Library Evolution
P1061R9 Structured Bindings can introduce a Pack Barry Revzin 2024-08-24 2024-09 P1061R8 CWG Core
P2019R7 Thread attributes Corentin Jabot 2024-09-16 2024-09 P2019R6 LWG Library
P2287R3 Designated-initializers for base classes Barry Revzin 2024-09-09 2024-09 P2287R2 EWG Evolution
P2319R1 Prevent path presentation problems Victor Zverovich 2024-09-14 2024-09 P2319R0 LEWG Library Evolution
P2688R2 Pattern Matching: `match` Expression Michael Park 2024-09-17 2024-09 P2688R1 EWG Evolution
P2786R7 Trivial Relocatability For C++26 Mungo Gill 2024-09-17 2024-09 P2786R6 EWG Evolution,LEWG Library Evolution
P2835R5 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-09-02 2024-09 P2835R4 LEWG Library Evolution
P2835R6 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2024-09-03 2024-09 P2835R5 LEWG Library Evolution,LWG Library
P2841R4 Concept and variable-template template-parameters Corentin Jabot 2024-09-14 2024-09 P2841R3 CWG Core
P2846R3 reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2024-09-14 2024-09 P2846R2 LEWG Library Evolution
P2879R0 Proposal of std::dump Andrew Tomazos 2024-09-17 2024-09   LEWGI SG18: LEWG Incubator,SG20 Education
P2945R1 Additional format specifiers for time_point Barry Revzin 2024-09-09 2024-09 P2945R0 LEWG Library Evolution
P2988R7 std::optional<T&> Steve Downey 2024-09-10 2024-09 P2988R6 LEWG Library Evolution,LWG Library
P3016R4 Resolve inconsistencies in begin/end for valarray and braced initializer lists Arthur O'Dwyer 2024-09-14 2024-09 P3016R3 LWG Library
P3019R9 Vocabulary Types for Composite Class Design Jonathan Coe 2024-09-15 2024-09 P3019R8 LEWG Library Evolution,LWG Library
P3037R3 constexpr std::shared_ptr Paul Keir 2024-09-03 2024-09 P3037R2 LEWG Library Evolution
P3074R4 trivial unions (was std::uninitialized<T>) Barry Revzin 2024-09-09 2024-09 P3074R3 EWG Evolution
P3096R3 Function Parameter Reflection in Reflection for C++26 Adam Lach 2024-09-15 2024-09 P3096R2 EWG Evolution,LEWG Library Evolution
P3128R1 Graph Library: Algorithms   2024-09-12 2024-09 P3128R0 SG14 Low Latency,SG19 Machine Learning
P3128R2 Graph Library: Algorithms   2024-09-12 2024-09 P3128R1 SG14 Low Latency,SG19 Machine Learning
P3210R2 A Postcondition *is* a Pattern Match Andrew Tomazos 2024-09-09 2024-09 P3210R1 SG21 Contracts,EWG Evolution
P3245R2 Allow `[[nodiscard]]` in type alias declarations Xavier Bonaventura 2024-09-15 2024-09 P3245R1 EWGI SG17: EWG Incubator
P3248R2 Require [u]intptr_t Gonzalo Brito Gadeschi 2024-09-06 2024-09 P3248R1 EWG Evolution,LEWG Library Evolution
P3290R2 Integrating Existing Assertions With Contracts Joshua Berne 2024-09-06 2024-09 P3290R1 SG21 Contracts,EWG Evolution
P3295R1 Freestanding constexpr containers and constexpr exception types Ben Craig 2024-09-15 2024-09 P3295R0 LEWG Library Evolution
P3299R1 Range constructors for std::simd Daniel Towner 2024-09-16 2024-09 P3299R0 LEWG Library Evolution
P3309R2 constexpr atomic and atomic_ref Hana Dusíková 2024-08-29 2024-09 P3309R1 LEWG Library Evolution
P3335R1 Structured Core Options René Ferdinand Rivera Morell 2024-09-17 2024-09 P3335R0 SG15 Tooling
P3371R1 Fix C++26 by making the rank-1, rank-2, rank-k, and rank-2k updates consistent with the BLAS Mark Hoemmen 2024-09-14 2024-09 P3371R0 LEWG Library Evolution
P3372R1 constexpr containers and adapters Hana Dusíková 2024-09-17 2024-09 P3372R0 LEWG Library Evolution
P3375R0 Reproducible floating-point results Guy Davidson 2024-09-10 2024-09   SG6 Numerics,SG14 Low Latency,LEWG Library Evolution
P3379R0 Constrain std::expected equality operators Jonathan Wakely 2024-08-27 2024-09   LEWG Library Evolution
P3380R0 Extending support for class types as non-type template parameters Barry Revzin 2024-09-09 2024-09   EWG Evolution
P3381R0 Syntax for Reflection Barry Revzin 2024-09-16 2024-09   EWG Evolution
P3382R0 Coarse clocks and resolutions Antony Polukhin 2024-08-28 2024-09   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P3383R0 mdspan.at() Stephan Lachnit 2024-09-04 2024-09   LEWGI SG18: LEWG Incubator
P3384R0 __COUNTER__ Jeremy Rifkin 2024-09-05 2024-09   EWG Evolution
P3385R0 Attributes reflection Aurelien Cassagnes 2024-09-16 2024-09   SG7 Reflection
P3388R0 When Do You Know connect Doesn't Throw? Robert Leahy 2024-09-10 2024-09   LEWG Library Evolution
P3389R0 Of Operation States and Their Lifetimes (LEWG Presentation 2024-09-10) Robert Leahy 2024-09-10 2024-09   LEWG Library Evolution
P3390R0 Safe C++ Sean Baxter 2024-09-11 2024-09   SG23 Safety and Security
P3391R0 constexpr std::format Barry Revzin 2024-09-12 2024-09   LEWG Library Evolution
P3392R0 Do not promise support for function syntax of operators Corentin Jabot 2024-09-14 2024-09   LEWG Library Evolution
P3396R0 std::execution wording fixes Lewis Baker 2024-09-16 2024-09   LWG Library
P3397R0 Clarify requirements on extended floating point types Hans Boehm 2024-09-16 2024-09   SG6 Numerics
P3398R0 User specified type decay Bengt Gustafsson 2024-09-17 2024-09   EWGI SG17: EWG Incubator
P3401R0 Enrich Creation Functions for the Pointer-Semantics-Based Polymorphism Library - Proxy Tian Liao 2024-09-17 2024-09   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P3402R0 A Safety Profile Verifying Class Initialization Marc-André Laverdière 2024-09-17 2024-09   SG23 Safety and Security
]]>
Thu, 26 Sep 2024 04:34:00 +0000 Administrator
2024-08 Mailing Available https://isocpp.org//blog/2024/08/2024-08-mailing-available https://isocpp.org//blog/2024/08/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
]]>
Thu, 15 Aug 2024 22:08:46 +0000 Administrator
2024-07 Mailing Available https://isocpp.org//blog/2024/07/2024-07-mailing-available https://isocpp.org//blog/2024/07/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
]]>
Tue, 16 Jul 2024 21:15:51 +0000 Administrator
2024-05 Mailing Available https://isocpp.org//blog/2024/05/2024-05-mailing-available https://isocpp.org//blog/2024/05/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
]]>
Sat, 18 May 2024 18:15:20 +0000 Administrator
2024-04 Mailing Available https://isocpp.org//blog/2024/04/2024-04-mailing-available https://isocpp.org//blog/2024/04/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
]]>
Tue, 16 Apr 2024 18:17:20 +0000 Administrator
Results summary: 2024 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2024/04/results-summary-2024-annual-cpp-developer-survey-lite https://isocpp.org//blog/2024/04/results-summary-2024-annual-cpp-developer-survey-lite Over the past week, we ran our 2024 annual global C++ developer survey. Thank 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.

]]>
Fri, 12 Apr 2024 03:45:59 +0000 Blog Staff
Survey closing soon: 2024 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2024/04/survey-closing-soon-2024-annual-cpp-developer-survey-lite https://isocpp.org//blog/2024/04/survey-closing-soon-2024-annual-cpp-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!

]]>
Mon, 08 Apr 2024 08:36:03 +0000 Blog Staff
2024 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2024/04/2024-annual-cpp-developer-survey-lite https://isocpp.org//blog/2024/04/2024-annual-cpp-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!

]]>
Wed, 03 Apr 2024 16:32:39 +0000 Blog Staff
2024-02 Mailing Available https://isocpp.org//blog/2024/02/2024-02-mailing-available https://isocpp.org//blog/2024/02/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
]]>
Thu, 15 Feb 2024 18:20:28 +0000 Administrator
What are senders good for, anyway? -- Eric Niebler https://isocpp.org//blog/2024/02/what-are-senders-good-for-anyway https://isocpp.org//blog/2024/02/what-are-senders-good-for-anyway 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.

]]>
Tue, 06 Feb 2024 19:47:36 +0000 Eric Niebler
2024-01 Mailing Available https://isocpp.org//blog/2024/01/2024-01-mailing-available https://isocpp.org//blog/2024/01/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
]]>
Wed, 17 Jan 2024 01:04:47 +0000 Administrator
2023-12 Mailing Available https://isocpp.org//blog/2023/12/2023-12-mailing-available https://isocpp.org//blog/2023/12/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
]]>
Sun, 17 Dec 2023 01:05:56 +0000 Administrator
Trip report: Autumn ISO C++ standards meeting (Kona, HI, USA) -- Herb Sutter https://isocpp.org//blog/2023/11/trip-report-autumn-iso-cpp-standards-meeting-kona-hi-usa-herb-sutter https://isocpp.org//blog/2023/11/trip-report-autumn-iso-cpp-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.

]]>
Sun, 12 Nov 2023 00:40:13 +0000 Blog Staff
WG21 Varna Trip Report -- David Sankel https://isocpp.org//blog/2023/10/wg21-varna-trip-report-david-sankel https://isocpp.org//blog/2023/10/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.

]]>
Sat, 28 Oct 2023 18:20:27 +0000 david.sankel
2023-10 Mailing Available https://isocpp.org//blog/2023/10/2023-10-mailing-available https://isocpp.org//blog/2023/10/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
]]>
Fri, 20 Oct 2023 15:56:24 +0000 Administrator
2023-09 Mailing Available https://isocpp.org//blog/2023/10/2023-09-mailing-available https://isocpp.org//blog/2023/10/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
]]>
Wed, 04 Oct 2023 21:41:58 +0000 Administrator
2023-08 Mailing Available https://isocpp.org//blog/2023/08/2023-08-mailing-available https://isocpp.org//blog/2023/08/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
]]>
Wed, 23 Aug 2023 16:55:40 +0000 Administrator
2023-07 Mailing Available https://isocpp.org//blog/2023/08/2023-07-mailing-available https://isocpp.org//blog/2023/08/2023-07-mailing-available The 2023-07 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4955 WG21 2023-06 Admin telecon minutes Nina Ranns 2023-06-05 2023-07   All of WG21
N4957 WG21 June 2023 Varna Minutes of Meeting Nina Ranns 2023-06-28 2023-07   All of WG21
P0260R6 C++ Concurrent Queues Detlef Vollmann 2023-06-16 2023-07 P0260R5 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0260R7 C++ Concurrent Queues Detlef Vollmann 2023-07-13 2023-07 P0260R6 SG1 Concurrency and Parallelism,LEWG Library Evolution
P0543R3 Saturation arithmetic Jens Maurer 2023-07-19 2023-07 P0543R2 LWG Library
P0843R7 inplace_vector Gonzalo Brito Gadeschi 2023-06-16 2023-07 P0843R6 LEWG Library Evolution
P0843R8 inplace_vector Gonzalo Brito Gadeschi 2023-06-16 2023-07 P0843R7 LEWG Library Evolution
P0901R11 Size feedback in operator new Thomas Köppe 2023-06-20 2023-07 P0901R10 EWG Evolution,CWG Core
P1030R6 std::filesystem::path_view Niall Douglas 2023-06-16 2023-07 P1030R5 LEWG Library Evolution
P1324R1 RE: Yet another approach for constrained declarations Mihail Naydenov 2023-07-06 2023-07 P1324R0 EWG Evolution
P1383R2 More constexpr for cmath and complex Oliver Rosten 2023-06-15 2023-07 P1383R1 SG6 Numerics,LEWG Library Evolution,LWG Library
P1729R2 Text Parsing Elias Kosunen 2023-07-07 2023-07 P1729R1 SG9 Ranges,SG16 Unicode,LEWG Library Evolution
P1928R5 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-06-19 2023-07 P1928R4 LEWG Library Evolution
P1928R6 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-06-19 2023-07 P1928R5 LEWG Library Evolution
P2169R4 A Nice Placeholder With No Name Corentin Jabot 2023-06-16 2023-07 P2169R3 CWG Core
P2407R4 Freestanding Library: Partial Classes Emil Meissner 2023-06-28 2023-07 P2407R3 LWG Library
P2487R1 Is attribute-like syntax adequate for contract annotations? Andrzej Krzemieński 2023-06-11 2023-07 P2487R0 SG21 Contracts
P2521R4 Contract support -- Record of SG21 consensus Andrzej Krzemieński 2023-06-15 2023-07 P2521R3 SG21 Contracts
P2542R3 views::concat Hui Xie 2023-06-09 2023-07 P2542R2 SG9 Ranges,LEWG Library Evolution
P2546R5 Debugging Support René Ferdinand Rivera Morell 2023-07-05 2023-07 P2546R4 LWG Library
P2548R6 copyable_function Michael Florian Hava 2023-06-15 2023-07 P2548R5 LWG Library
P2552R3 On the ignorability of standard attributes Timur Doumler 2023-06-14 2023-07 P2552R2 EWG Evolution,CWG Core
P2591R4 Concatenation of strings and string views Giuseppe D'Angelo 2023-07-11 2023-07 P2591R3 LEWG Library Evolution
P2630R4 Submdspan Christian Trott 2023-06-22 2023-07 P2630R3 LEWG Library Evolution,LWG Library
P2637R3 Member visit Barry Revzin 2023-06-14 2023-07 P2637R2 LEWG Library Evolution
P2641R4 Checking if a union alternative is active Barry Revzin 2023-06-14 2023-07 P2641R3 LEWG Library Evolution
P2642R3 Padded mdspan layouts Mark Hoemmen 2023-07-14 2023-07 P2642R2 LEWG Library Evolution
P2662R2 Pack Indexing Corentin Jabot 2023-07-15 2023-07 P2662R1 EWG Evolution
P2689R2 atomic_accessor Christian Trott 2023-07-20 2023-07 P2689R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2697R1 Interfacing bitset with string_view Michael Florian Hava 2023-06-15 2023-07 P2697R0 LWG Library
P2714R1 Bind front and back to NTTP callables Zhihao Yuan 2023-06-16 2023-07 P2714R0 LWG Library
P2717R2 Tool Introspection René Ferdinand Rivera Morell 2023-06-15 2023-07 P2717R1 SG15 Tooling
P2727R3 std::iterator_interface Zach Laine 2023-06-13 2023-07 P2727R2 LEWG Library Evolution
P2728R4 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-06-19 2023-07 P2728R3 SG16 Unicode,LEWG Library Evolution
P2728R5 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-07-11 2023-07 P2728R4 SG16 Unicode,LEWG Library Evolution
P2741R3 user-generated static_assert messages Corentin Jabot 2023-06-16 2023-07 P2741R2 EWG Evolution
P2752R3 Static storage for braced initializers Arthur O'Dwyer 2023-06-14 2023-07 P2752R2 CWG Core
P2757R3 Type checking format args Barry Revzin 2023-06-14 2023-07 P2757R2 LEWG Library Evolution
P2767R1 flat_map/flat_set omnibus Arthur O'Dwyer 2023-07-14 2023-07 P2767R0 LEWG Library Evolution,LWG Library
P2776R0 2023-05 Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2023-06-16 2023-07   LEWG Library Evolution
P2779R1 Make basic_string_view's range construction conditionally explicit Giuseppe D'Angelo 2023-07-11 2023-07 P2779R0 SG9 Ranges,SG16 Unicode,LEWG Library Evolution
P2781R3 std::constexpr_v Zach Laine 2023-06-12 2023-07 P2781R2 LEWG Library Evolution
P2785R0 Relocating prvalues Sébastien Bini, Ed Catmur 2023-06-12 2023-07   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P2785R1 Relocating prvalues Sébastien Bini, Ed Catmur 2023-06-12 2023-07 P2785R0 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P2785R2 Relocating prvalues Sébastien Bini, Ed Catmur 2023-06-14 2023-07 P2785R1 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P2785R3 Relocating prvalues Sébastien Bini, Ed Catmur 2023-06-14 2023-07 P2785R2 EWGI SG17: EWG Incubator
P2786R2 Trivial relocatability options Mungo Gill 2023-06-16 2023-07 P2786R1 EWG Evolution
P2795R0 Correct and incorrect code, and "erroneous behaviour" Thomas Köppe 2023-06-13 2023-07   SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core
P2795R1 Erroneous behaviour for uninitialized reads Thomas Köppe 2023-06-15 2023-07 P2795R0 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core
P2795R2 Erroneous behaviour for uninitialized reads Thomas Köppe 2023-06-16 2023-07 P2795R1 SG12 Undefined and Unspecified Behavior,SG23 Safety and Security,EWG Evolution,CWG Core
P2809R1 Trivial infinite loops are not Undefined Behavior JF Bastien 2023-06-17 2023-07 P2809R0 SG1 Concurrency and Parallelism,SG22 Compatability,EWG Evolution,LEWG Library Evolution
P2810R1 is_debugger_present is_replaceable René Ferdinand Rivera Morell 2023-07-06 2023-07 P2810R0 LEWG Library Evolution
P2811R5 Contract-Violation Handlers Joshua Berne 2023-06-28 2023-07 P2811R4 SG21 Contracts
P2811R6 Contract-Violation Handlers Joshua Berne 2023-06-28 2023-07 P2811R5 SG21 Contracts
P2811R7 Contract-Violation Handlers Joshua Berne 2023-07-13 2023-07 P2811R6 SG21 Contracts
P2814R1 Trivial Relocatability --- Comparing P1144 with P2786 Mungo Gill 2023-06-16 2023-07 P2814R0 EWG Evolution
P2819R1 Add tuple protocol to complex Michael Florian Hava 2023-07-14 2023-07 P2819R0 LEWG Library Evolution,LWG Library
P2821R2 span.at() Jarrad J. Waterloo 2023-05-26 2023-07 P2821R1 SG23 Safety and Security,LEWG Library Evolution
P2821R3 span.at() Jarrad J. Waterloo 2023-06-12 2023-07 P2821R2 SG23 Safety and Security,LEWG Library Evolution
P2828R2 Copy elision for direct-initialization with a conversion function (Core issue 2327) Brian Bi 2023-06-12 2023-07 P2828R1 CWG Core
P2834R1 Semantic Stability Across Contract-Checking Build Modes Joshua Berne, John Lakos 2023-06-08 2023-07 P2834R0 SG21 Contracts
P2835R1 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2023-06-26 2023-07 P2835R0 LEWG Library Evolution
P2836R1 std::basic_const_iterator should follow its underlying type's convertibility Christopher Di Bella 2023-07-11 2023-07 P2836R0 SG9 Ranges,LEWG Library Evolution,LWG Library
P2845R1 Formatting of std::filesystem::path Victor Zverovich 2023-06-08 2023-07 P2845R0 SG16 Unicode,LEWG Library Evolution
P2865R1 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2023-06-16 2023-07 P2865R0 SG22 Compatability,EWG Evolution
P2872R1 Remove `wstring_convert` From C++26 Alisdair Meredith 2023-06-07 2023-07 P2872R0 LEWG Library Evolution
P2874R1 Mandating Annex D Alisdair Meredith 2023-06-11 2023-07 P2874R0 LWG Library
P2874R2 Mandating Annex D Alisdair Meredith 2023-06-12 2023-07 P2874R1 LWG Library
P2877R0 Contract Build Modes and Semantics Joshua Berne 2023-07-13 2023-07   SG21 Contracts
P2878R2 Reference checking Jarrad J. Waterloo 2023-06-10 2023-07 P2878R1 SG23 Safety and Security
P2878R3 Reference checking Jarrad J. Waterloo 2023-06-23 2023-07 P2878R2 SG23 Safety and Security
P2878R4 Reference checking Jarrad J. Waterloo 2023-07-08 2023-07 P2878R3 SG23 Safety and Security
P2885R0 Requirements for a Contracts syntax Timur Doumler 2023-07-16 2023-07   SG21 Contracts,EWG Evolution
P2898R1 Build System Requirements for Importable Headers Daniel Ruoso 2023-06-12 2023-07 P2898R0 SG15 Tooling
P2902R0 constexpr 'Parallel' Algorithms Oliver Rosten 2023-06-17 2023-07   LEWG Library Evolution,LWG Library
P2904R0 Removing exception in precedence rule(s) when using member pointer syntax Annop Rana 2023-06-13 2023-07   EWGI SG17: EWG Incubator
P2905R0 Runtime format strings Victor Zverovich 2023-07-15 2023-07   LEWG Library Evolution
P2905R1 Runtime format strings Victor Zverovich 2023-07-15 2023-07 P2905R0 LWG Library
P2906R0 Structured bindings for std::extents Bernhard Manfred Gruber 2023-05-29 2023-07   LEWG Library Evolution
P2910R0 C++ Standard Library Ready Issues to be moved in Varna, Jun. 2023 Jonathan Wakely 2023-06-09 2023-07   All of WG21
P2911R0 Python Bindings with Value-Based Reflection Adam Lach 2023-07-10 2023-07   SG7 Reflection
P2912R0 Concurrent queues and sender/receivers Gor Nishanov 2023-07-04 2023-07   SG1 Concurrency and Parallelism
P2915R0 Proposed resolution to CWG1223 Corentin Jabot 2023-06-13 2023-07   CWG Core
P2917R0 An in-line defaulted destructor should keep the copy- and move-operations Andreas Fertig 2023-06-14 2023-07   EWGI SG17: EWG Incubator,EWG Evolution
P2917R1 An in-line defaulted destructor should keep the copy- and move-operations Andreas Fertig 2023-07-05 2023-07 P2917R0 EWG Evolution
P2918R0 Runtime format strings II Victor Zverovich 2023-07-15 2023-07   LEWG Library Evolution
P2918R1 Runtime format strings II Victor Zverovich 2023-07-15 2023-07 P2918R0 LWG Library
P2920R0 Library Evolution Leadership's Understanding of the Noexcept Policy History Nevin Liber 2023-06-16 2023-07   All of WG21
P2921R0 Exploring std::expected based API alternatives for buffer_queue Gor Nishanov 2023-07-04 2023-07   LEWG Library Evolution
P2922R0 Core Language Working Group "ready" Issues for the June, 2023 meeting Jens Maurer 2023-06-16 2023-07   CWG Core
P2925R0 inplace_vector - D0843R7 LEWG presentation David Sankel 2023-06-19 2023-07   LEWG Library Evolution
P2926R0 std::simd types should be regular - P2892R0 LEWG presentation David Sankel 2023-06-19 2023-07   LEWG Library Evolution
P2929R0 simd_invoke Daniel Towner 2023-07-19 2023-07   LEWG Library Evolution
P2930R0 Formatter specializations for the standard library Mark de Wever 2023-07-15 2023-07   LEWG Library Evolution,LWG Library
P2931R0 WG21 June 2023 Varna Meeting Record of Discussion Nina Ranns 2023-06-28 2023-07   All of WG21
P2937R0 Freestanding: Remove strtok Ben Craig 2023-07-02 2023-07   LEWG Library Evolution
P2940R0 switch for Pattern Matching Mihail Naydenov 2023-07-06 2023-07   EWGI SG17: EWG Incubator
P2941R0 Identifiers for Pattern Matching Mihail Naydenov 2023-07-06 2023-07   EWGI SG17: EWG Incubator
P2944R0 Comparisons for reference_wrapper Barry Revzin 2023-07-09 2023-07   LEWG Library Evolution
P2945R0 Additional format specifiers for time_point Barry Revzin 2023-07-13 2023-07   LEWG Library Evolution
P2946R0 A flexible solution to the problems of `noexcept` Pablo Halpern 2023-07-19 2023-07   EWGI SG17: EWG Incubator
P2947R0 Contracts must avoid disclosing sensitive information Andrei Zissu 2023-07-20 2023-07   SG21 Contracts,SG23 Safety and Security
P2949R0 Slides for P2861R0: Narrow Contracts and `noexcept` are Inherently Incompatable John Lakos 2023-07-14 2023-07   EWGI SG17: EWG Incubator,SG21 Contracts,EWG Evolution,LEWG Library Evolution
P2950R0 Slides for P2836R1: std::basic_const_iterator should follow its underlying type's convertibility Tomasz Kamiński 2023-07-11 2023-07   LEWG Library Evolution
P2951R0 Shadowing is good for safety Jarrad J. Waterloo 2023-07-14 2023-07   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,SG23 Safety and Security
P2951R1 Shadowing is good for safety Jarrad J. Waterloo 2023-07-16 2023-07 P2951R0 SG23 Safety and Security
]]>
Mon, 14 Aug 2023 14:31:43 +0000 Administrator
2023-05 Mailing Available https://isocpp.org//blog/2023/05/2023-05-mailing-available https://isocpp.org//blog/2023/05/2023-05-mailing-available The 2023-05 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4946 2024-03 Tokyo meeting information JF Bastien 2023-04-13 2023-05 All of WG21
N4947 INCITS C++/WG21 agenda: 12-17 June 2023, Varna, Bulgaria John Spicer 2023-05-02 2023-05 All of WG21
N4948 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2023-05-08 2023-05 All of WG21
N4949 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2023-05-08 2023-05 All of WG21
N4950 Working Draft, Standard for Programming Language C++ Thomas Köppe 2023-05-10 2023-05 All of WG21
N4951 Editors' Report - Programming Languages - C++ Thomas Köppe 2023-05-10 2023-05 All of WG21
N4953 Concurrency TS2 Michael Wong 2023-05-15 2023-05 All of WG21
N4954 2023 WG21 admin telecon meetings, rev. 1 Herb Sutter 2023-05-18 2023-05 All of WG21
P0342R2 pessimize_hint Gonzalo Brito Gadeschi 2023-05-16 2023-05 P0342R1 SG1 Concurrency and Parallelism
P0447R22 Introduction of std::hive to the standard library Matt Bentley 2023-05-16 2023-05 P0447R21 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0843R6 static_vector Gonzalo Brito Gadeschi 2023-05-18 2023-05 P0843R5 LEWG Library Evolution
P1000R5 C++ IS schedule Herb Sutter 2023-05-10 2023-05 P1000R4 All of WG21
P1028R5 SG14 status_code and standard error object Niall Douglas 2023-05-11 2023-05 P1028R4 LEWG Library Evolution
P1061R5 Structured Bindings can introduce a Pack Barry Revzin 2023-05-17 2023-05 P1061R4 EWG Evolution
P1068R7 Vector API for random number generation Ilya Burylov 2023-05-17 2023-05 P1068R6 LEWG Library Evolution
P1112R4 Language support for class layout control Pal Balog 2023-05-18 2023-05 P1112R3 EWG Evolution
P1144R8 std::is_trivially_relocatable Arthur O'Dwyer 2023-05-14 2023-05 P1144R7 EWG Evolution,LEWG Library Evolution
P1684R5 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2023-05-19 2023-05 P1684R4 LEWG Library Evolution
P1759R6 Native handles and file streams Elias Kosunen 2023-05-17 2023-05 P1759R5 LWG Library
P1885R12 Naming Text Encodings to Demystify Them Corentin Jabot 2023-04-05 2023-05 P1885R11 LWG Library
P1901R2 Enabling the Use of weak_ptr as Keys in Unordered Associative Containers Daryl Haresign 2023-04-05 2023-05 P1901R1 LWG Library
P1928R4 std::simd - Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-05-19 2023-05 P1928R3 LEWG Library Evolution
P2019R3 Thread attributes Corentin Jabot 2023-05-18 2023-05 P2019R2 LEWG Library Evolution
P2022R2 Rangified version of lexicographical_compare_three_way Ran Regev 2023-05-10 2023-05 P2022R1 SG9 Ranges,LEWG Library Evolution
P2141R1 Aggregates are named tuples Antony Polukhin 2023-05-03 2023-05 P2141R0 LEWG Library Evolution,LWG Library
P2300R7 `std::execution` Eric Niebler 2023-04-21 2023-05 P2300R6 LEWG Library Evolution,LWG Library
P2447R4 std::span over an initializer list Arthur O'Dwyer 2023-05-14 2023-05 P2447R3 LEWG Library Evolution
P2495R3 Interfacing stringstreams with string_view Michael Hava 2023-04-19 2023-05 P2495R2 LWG Library
P2500R1 C++ parallel algorithms and P2300 Ruslan Arutyunyan 2023-05-17 2023-05 P2500R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2546R4 Debugging Support René Ferdinand Rivera Morell 2023-05-20 2023-05 P2546R3 LEWG Library Evolution,LWG Library
P2548R5 copyable_function Michael Florian Hava 2023-04-03 2023-05 P2548R4 LEWG Library Evolution,LWG Library
P2552R2 On the ignorability of standard attributes Timur Doumler 2023-05-19 2023-05 P2552R1 EWG Evolution,CWG Core
P2561R2 A control flow operator Barry Revzin 2023-05-18 2023-05 P2561R1 EWG Evolution
P2621R3 UB? In my Lexer? Corentin Jabot 2023-05-18 2023-05 P2621R2 CWG Core
P2637R2 Member visit Barry Revzin 2023-05-15 2023-05 P2637R1 LEWG Library Evolution
P2641R3 Checking if a union alternative is active Barry Revzin 2023-05-15 2023-05 P2641R2 LEWG Library Evolution
P2643R1 Improving C++ concurrency features Gonzalo Brito Gadeschi 2023-05-18 2023-05 P2643R0 SG1 Concurrency and Parallelism
P2654R0 Modules and Macros Alisdair Meredith 2023-05-19 2023-05 EWG Evolution,LEWG Library Evolution
P2662R1 Pack Indexing Corentin Jabot 2023-05-18 2023-05 P2662R0 EWG Evolution
P2663R2 Proposal to support interleaved complex values in std::simd Daniel Towner 2023-04-28 2023-05 P2663R1 LEWG Library Evolution
P2663R3 Proposal to support interleaved complex values in std::simd Daniel Towner 2023-05-17 2023-05 P2663R2 LEWG Library Evolution
P2664R2 Proposal to extend std::simd with permutation API Daniel Towner 2023-04-28 2023-05 P2664R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2664R3 Proposal to extend std::simd with permutation API Daniel Towner 2023-05-17 2023-05 P2664R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2685R1 Language Support For Scoped Objects Alisdair Meredith 2023-05-19 2023-05 P2685R0 EWGI SG17: EWG Incubator
P2686R1 constexpr structured bindings and references to constexpr variables Corentin Jabot 2023-05-18 2023-05 P2686R0 EWG Evolution,CWG Core
P2689R2 atomic_accessor Nevin Liber 2023-05-25 2023-05 P2689R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2717R1 Tool Introspection René Ferdinand Rivera Morell 2023-05-17 2023-05 P2717R0 SG15 Tooling
P2727R2 std::iterator_interface Zach Laine 2023-05-03 2023-05 P2727R1 LEWG Library Evolution
P2728R1 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-05-04 2023-05 P2728R0 SG16 Unicode,LEWG Library Evolution
P2728R2 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-05-10 2023-05 P2728R1 SG16 Unicode,LEWG Library Evolution
P2728R3 Unicode in the Library, Part 1: UTF Transcoding Zach Laine 2023-05-10 2023-05 P2728R2 SG16 Unicode,LEWG Library Evolution
P2741R2 user-generated static_assert messages Corentin Jabot 2023-05-11 2023-05 P2741R1 EWG Evolution
P2746R2 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2023-05-14 2023-05 P2746R1 SG6 Numerics,LEWG Library Evolution
P2748R1 Disallow Binding a Returned Glvalue to a Temporary Brian Bi 2023-05-15 2023-05 P2748R0 EWG Evolution
P2752R2 Static storage for braced initializers Arthur O'Dwyer 2023-05-14 2023-05 P2752R1 EWG Evolution,CWG Core
P2757R2 Type checking format args Barry Revzin 2023-05-15 2023-05 P2757R1 LEWG Library Evolution
P2767R0 flat_map/flat_set omnibus Arthur O'Dwyer 2023-05-14 2023-05 LWG Library
P2769R1 get_element customization point object Ruslan Arutyunyan 2023-05-17 2023-05 P2769R0 SG9 Ranges,LEWG Library Evolution
P2771R1 Towards memory safety in C++ Thomas Neumann 2023-05-17 2023-05 P2771R0 SG23 Safety and Security
P2774R0 Scoped thread-local storage Michael Florian Hava 2023-05-10 2023-05 SG1 Concurrency and Parallelism
P2775R0 2023-05 Library Evolution Polls Bryce Adelstein Lelbach 2023-05-25 2023-05 LEWG Library Evolution
P2781R1 std::constexpr_v Zach Laine 2023-05-04 2023-05 P2781R0 LEWG Library Evolution
P2781R2 std::constexpr_v Zach Laine 2023-05-21 2023-05 P2781R1 LEWG Library Evolution
P2786R1 Trivial relocatability options Mungo Gill 2023-05-19 2023-05 P2786R0 EWGI SG17: EWG Incubator,EWG Evolution
P2811R2 Contract Violation Handlers Joshua Berne 2023-04-20 2023-05 P2811R1 SG21 Contracts
P2811R3 Contract Violation Handlers Joshua Berne 2023-05-04 2023-05 P2811R2 SG21 Contracts
P2811R4 Contract Violation Handlers Joshua Berne 2023-05-15 2023-05 P2811R3 SG21 Contracts
P2814R0 Trivial Relocatability --- Comparing P1144 with P2786 Mungo Gill 2023-05-19 2023-05 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P2821R1 span.at() Jarrad J. Waterloo 2023-04-13 2023-05 P2821R0 SG23 Safety and Security,LEWG Library Evolution
P2828R1 Copy elision for direct-initialization with a conversion function (Core issue 2327) Brian Bi 2023-05-11 2023-05 P2828R0 CWG Core
P2829R0 Proposal of Contracts Supporting Const-On-Definition Style Andrew Tomazos 2023-04-12 2023-05 SG21 Contracts
P2831R0 Functions having a narrow contract should not be noexcept Timur Doumler 2023-05-15 2023-05 LEWG Library Evolution
P2834R0 Semantic Stability Across Contract-Checking Build Modes Joshua Berne, John Lakos 2023-05-15 2023-05 SG21 Contracts
P2835R0 Expose std::atomic_ref's object address Gonzalo Brito Gadeschi 2023-05-18 2023-05 SG1 Concurrency and Parallelism
P2837R0 Planning to Revisit the Lakos Rule Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2839R0 Nontrivial relocation via a new "owning reference" type Brian Bi 2023-05-15 2023-05 EWGI SG17: EWG Incubator
P2841R0 Concept Template Parameters Corentin Jabot 2023-05-18 2023-05 EWG Evolution
P2842R0 Destructor Semantics Do Not Affect Constructible Traits Alisdair Meredith 2023-05-19 2023-05 LWG Library
P2843R0 Preprocessing is never undefined Alisdair Meredith 2023-05-19 2023-05 SG16 Unicode
P2845R0 Formatting of std::filesystem::path Victor Zverovich 2023-05-07 2023-05 SG16 Unicode,LEWG Library Evolution
P2846R0 size_hint: Eagerly reserving memory for not-quite-sized lazy ranges Corentin Jabot 2023-05-11 2023-05 SG9 Ranges
P2848R0 std::is_uniqued Arthur O'Dwyer 2023-04-24 2023-05 LEWGI SG18: LEWG Incubator
P2850R0 Minimal Compiler Preserved Dependencies Mark Batty 2023-05-15 2023-05 SG1 Concurrency and Parallelism
P2852R0 Contract violation handling semantics for the contracts MVP Tom Honermann 2023-04-24 2023-05 SG21 Contracts
P2853R0 Proposal of std::contract_violation Andrew Tomazos 2023-05-10 2023-05 SG21 Contracts
P2855R0 Member customization points for Senders and Receivers Ville Voutilainen 2023-05-18 2023-05 LEWG Library Evolution
P2857R0 P2596R0 Critique Matt Bentley 2023-04-28 2023-05 All of WG21
P2858R0 Noexcept vs contract violations Andrzej Krzemieński 2023-05-12 2023-05 SG21 Contracts
P2861R0 The Lakos Rule: Narrow Contracts And `noexcept` Are Inherently Incompatible John Lakos 2023-05-18 2023-05 SG21 Contracts,EWG Evolution,LEWG Library Evolution
P2862R0 text_encoding::name() should never return null values Daniel Krügler 2023-05-09 2023-05 LEWG Library Evolution,LWG Library
P2863R0 Review Annex D for C++26 Alisdair Meredith 2023-05-19 2023-05 EWG Evolution,LEWG Library Evolution
P2864R0 Remove Deprecated Arithmetic Conversion on Enumerations From C++26 Alisdair Meredith 2023-05-19 2023-05 EWG Evolution
P2865R0 Remove Deprecated Array Comparisons from C++26 Alisdair Meredith 2023-05-19 2023-05 EWG Evolution
P2866R0 Remove Deprecated Volatile Features From C++26 Alisdair Meredith 2023-05-19 2023-05 EWG Evolution
P2867R0 Remove Deprecated strstreams From C++26 Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2868R0 Remove Deprecated `std::allocator` Typedef From C++26 Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2869R0 Remove Deprecated `shared_ptr` Atomic Access APIs From C++26 Alisdair Meredith 2023-05-19 2023-05 SG1 Concurrency and Parallelism
P2870R0 Remove `basic_string::reserve()` From C++26 Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2871R0 Remove Deprecated Unicode Conversion Facets From C++26 Alisdair Meredith 2023-05-19 2023-05 SG16 Unicode
P2872R0 Remove `wstring_convert` From C++26 Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2873R0 Remove Deprecated locale category facets for Unicode from C++26 Alisdair Meredith 2023-05-19 2023-05 SG16 Unicode
P2874R0 Mandating Annex D Alisdair Meredith 2023-05-19 2023-05 LWG Library
P2875R0 Undeprecate `polymorphic_allocator::destroy` For C++26 Alisdair Meredith 2023-05-19 2023-05 LEWG Library Evolution
P2876R0 Proposal to extend std::simd with more constructors and accessors Daniel Towner 2023-05-18 2023-05 LEWG Library Evolution
P2878R0 Reference checking Jarrad J. Waterloo 2023-05-10 2023-05 SG23 Safety and Security
P2878R1 Reference checking Jarrad J. Waterloo 2023-05-18 2023-05 P2878R0 SG23 Safety and Security
P2880R0 Algorithm-like vs std::simd based RNG API Ilya Burylov 2023-05-18 2023-05 LEWG Library Evolution
P2881R0 Generator-based for loop Jonathan Müller 2023-05-18 2023-05 EWGI SG17: EWG Incubator,EWG Evolution
P2882R0 An Event Model for C++ Executors Detlef Vollmann 2023-05-11 2023-05 SG1 Concurrency and Parallelism
P2883R0 `offsetof` Should Be A Keyword In C++26 Alisdair Meredith 2023-05-19 2023-05 EWGI SG17: EWG Incubator
P2884R0 `assert` Should Be A Keyword In C++26 Alisdair Meredith 2023-05-19 2023-05 EWGI SG17: EWG Incubator,SG21 Contracts,SG22 Compatability
P2886R0 Concurrency TS2 Editor's report Michael Wong 2023-05-15 2023-05 All of WG21
P2887R0 SG14: Low Latency/Games/Embedded/Finance/Simulation virtual meeting minutes to 2023/05/11 Michael Wong 2023-05-15 2023-05 SG14 Low Latency
P2888R0 SG19: Machine Learning Virtual Meeting Minutes to 2023/05/12 Michael Wong 2023-05-15 2023-05 SG19 Machine Learning
P2889R0 Distributed Arrays Lauri Vasama 2023-05-15 2023-05 EWGI SG17: EWG Incubator,EWG Evolution
P2891R0 SG16: Unicode meeting summaries 2023-01-11 through 2023-05-10 Tom Honermann 2023-05-16 2023-05 SG16 Unicode
P2892R0 std::simd Types Should be Regular David Sankel 2023-05-18 2023-05 LEWG Library Evolution
P2893R0 Variadic Friends Jody Hagins 2023-05-19 2023-05 EWGI SG17: EWG Incubator
P2895R0 noncopyable and nonmoveable utility classes Sebastian Theophil 2023-05-17 2023-05 LEWG Library Evolution
P2897R0 aligned_accessor: An mdspan accessor expressing pointer overalignment Mark Hoemmen 2023-05-18 2023-05 LEWGI SG18: LEWG Incubator
P2898R0 Importable Headers are Not Universally Implementable Daniel Ruoso 2023-05-18 2023-05 SG15 Tooling
P2901R0 Extending linear algebra support to batched operations Mark Hoemmen 2023-05-19 2023-05 SG6 Numerics,LEWGI SG18: LEWG Incubator,SG19 Machine Learning
]]>
Tue, 23 May 2023 15:52:38 +0000 Administrator
Results summary: 2023 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2023/04/results-summary-2023-annual-cpp-developer-survey-lite https://isocpp.org//blog/2023/04/results-summary-2023-annual-cpp-developer-survey-lite Over the past week, we ran our 2023 annual global C++ developer survey. Thank you to everyone who responded. As promised, here is a summary of the results:

CppDevSurvey-2023-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.

]]>
Thu, 27 Apr 2023 16:07:21 +0000 Blog Staff
2023-04 Mailing Available https://isocpp.org//blog/2023/04/2023-04-mailing-available https://isocpp.org//blog/2023/04/2023-04-mailing-available The 2023-04 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4943 WG21 February 2023 Issaquah Minutes of Meeting Nina Ranns 2023-03-06 2023-04   All of WG21
N4944 Working Draft, Standard for Programming Language C++ Thomas Köppe 2023-03-22 2023-04   All of WG21
N4945 Editors' Report - Programming Languages - C++ Thomas Köppe 2023-03-23 2023-04   All of WG21
P0876R13 fiber_context - fibers without scheduler Oliver Kowalke 2023-03-02 2023-04 P0876R12 LEWG Library Evolution
P1144R7 std::is_trivially_relocatable Arthur O'Dwyer 2023-03-10 2023-04 P1144R6 EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution
P1673R12 A free function linear algebra interface based on the BLAS Mark Hoemmen 2023-03-14 2023-04 P1673R11 LWG Library
P1885R11 Naming Text Encodings to Demystify Them Corentin Jabot 2023-03-22 2023-04 P1885R10 LWG Library
P2022R1 Rangified version of lexicographical_compare_three_way Ran Regev 2023-03-11 2023-04 P2022R0 SG9 Ranges,LEWG Library Evolution
P2287R2 Designated-initializers for base classes Barry Revzin 2023-03-12 2023-04 P2287R1 EWG Evolution
P2407R3 Freestanding Library: Partial Classes Emil Meissner 2023-03-05 2023-04 P2407R2 LWG Library
P2447R3 std::span over an initializer list Arthur O'Dwyer 2023-03-14 2023-04 P2447R2 LEWG Library Evolution
P2530R3 Hazard Pointers for C++26 Maged Michael 2023-03-02 2023-04 P2530R2 LWG Library
P2545R4 Read-Copy Update (RCU) Paul E. McKenney 2023-03-08 2023-04 P2545R3 LWG Library
P2630R3 Submdspan Christian Trott 2023-03-15 2023-04 P2630R2 LEWG Library Evolution,LWG Library
P2690R1 Presentation for C++17 parallel algorithms and P2300 Ruslan Arutyunyan 2023-03-16 2023-04 P2690R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2746R1 Deprecate and Replace Fenv Rounding Modes Hans Boehm 2023-03-14 2023-04 P2746R0 SG6 Numerics,LEWG Library Evolution
P2752R1 Static storage for braced initializers Arthur O'Dwyer 2023-03-10 2023-04 P2752R0 EWG Evolution,CWG Core
P2757R1 Type checking format args Barry Revzin 2023-03-13 2023-04 P2757R0 LEWG Library Evolution
P2780R0 Caller-side precondition checking, and Eval_and_throw Ville Voutilainen 2023-03-02 2023-04   SG21 Contracts
P2806R1 do expressions Barry Revzin 2023-03-12 2023-04 P2806R0 EWG Evolution
P2809R0 Trivial infinite loops are not Undefined Behavior JF Bastien 2023-03-14 2023-04   SG1 Concurrency and Parallelism,SG22 Compatability,EWG Evolution
P2811R0 Contract Violation Handlers Joshua Berne 2023-03-20 2023-04   SG21 Contracts
P2811R1 Contract Violation Handlers Joshua Berne 2023-03-20 2023-04 P2811R0 SG21 Contracts
P2817R0 The idea behind the contracts MVP Andrzej Krzemieński 2023-03-05 2023-04   SG21 Contracts
P2818R0 Uniform Call Syntax for explicit-object member functions Gašper Ažman 2023-03-15 2023-04   EWG Evolution
P2819R0 Add tuple protocol to complex Michael Florian Hava 2023-02-23 2023-04   SG6 Numerics,LEWG Library Evolution
P2824R0 WG21 February 2023 Issaquah meeting Record of Discussion Nina Ranns 2023-03-06 2023-04   All of WG21
P2825R0 calltarget(unevaluated-call-expression) Gašper Ažman 2023-03-15 2023-04   EWG Evolution
P2826R0 Replacement functions Gašper Ažman 2023-03-15 2023-04   EWG Evolution
P2827R0 Floating-point overflow and underflow in from_chars (LWG 3081) Zhihao Yuan 2023-03-14 2023-04   LEWG Library Evolution,LWG Library
P2828R0 Copy elision for direct-initialization with a conversion function (Core issue 2327) Brian Bi 2023-03-13 2023-04   CWG Core
P2830R0 constexpr type comparison Gašper Ažman 2023-03-15 2023-04   EWG Evolution
P2833R0 Freestanding Library: inout expected span Ben Craig 2023-03-13 2023-04   LEWG Library Evolution
P2836R0 std::const_iterator often produces an unexpected type Christopher Di Bella 2023-03-20 2023-04   SG9 Ranges,LEWG Library Evolution,LWG Library
P2838R0 Unconditional contract violation handling of any kind is a serious problem Ville Voutilainen 2023-03-22 2023-04   SG21 Contracts
]]>
Tue, 25 Apr 2023 21:51:50 +0000 Administrator
2023-02 Mailing Available https://isocpp.org//blog/2023/02/2023-02-mailing-available https://isocpp.org//blog/2023/02/2023-02-mailing-available The 2023-02 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4940 WG21 2022-11 Kona Minutes of Meeting V2 Nina Ranns 2023-01-23 2023-02   All of WG21
N4941 INCITS C++/WG21 Agenda: 6-11 February 2023, Issaquah, WA USA John Spicer 2023-01-21 2023-02   All of WG21
N4942 WG21 2023-01 Admin telecon minutes Nina Ranns 2023-02-02 2023-02   All of WG21
P0290R3 apply() for synchronized_value Anthony Williams 2023-01-17 2023-02 P0290R2 LWG Library
P0290R4 apply() for synchronized_value Anthony Williams 2023-02-16 2023-02 P0290R3 LWG Library
P0447R21 Introduction of std::hive to the standard library Matt Bentley 2023-02-11 2023-02 P0447R20 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0493R4 Atomic maximum/minimum Al Grant 2023-02-15 2023-02 P0493R3 SG1 Concurrency and Parallelism,LWG Library
P0792R13 function_ref: a non-owning reference to a Callable Vittorio Romeo 2023-02-09 2023-02 P0792R12 LWG Library
P0792R14 function_ref: a non-owning reference to a Callable Vittorio Romeo 2023-02-09 2023-02 P0792R13 LWG Library
P0870R5 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2023-02-15 2023-02 P0870R4 SG6 Numerics,LEWG Library Evolution,LWG Library
P0876R12 fiber_context - fibers without scheduler Oliver Kowalke 2023-02-09 2023-02 P0876R11 LEWG Library Evolution
P1061R4 Structured Bindings can introduce a Pack Barry Revzin 2023-02-15 2023-02 P1061R3 EWG Evolution
P1708R7 Basic Statistics Richard Dosselmann 2023-02-06 2023-02 P1708R6 SG6 Numerics,SG14 Low Latency,LEWG Library Evolution,LWG Library
P1715R1 Loosen restrictions on "_t" typedefs and "_v" values. Jorg Brown 2023-02-06 2023-02 P1715R0 LEWG Library Evolution,CWG Core,LWG Library
P1759R5 Native handles and file streams Elias Kosunen 2023-02-12 2023-02 P1759R4 LWG Library
P1854R4 Making non-encodable string literals ill-formed Corentin Jabot 2023-02-08 2023-02 P1854R3 EWG Evolution
P1928R3 Merge data-parallel types from the Parallelism TS 2 Matthias Kretz 2023-02-03 2023-02 P1928R2 LEWG Library Evolution
P2022R0 Rangified version of lexicographical_compare_three_way Ran Regev 2023-02-06 2023-02   SG9 Ranges,LEWG Library Evolution
P2047R6 An allocator-aware optional type Nina Ranns 2023-02-02 2023-02 P2047R5 LEWG Library Evolution
P2159R1 A Big Decimal Type Bill Seymour 2023-02-06 2023-02 P2159R0 SG6 Numerics
P2300R6 `std::execution` Michał Dominiak 2023-01-19 2023-02 P2300R5 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2308R0 Template parameter initialization S. Davis Herring 2023-02-13 2023-02   CWG Core
P2338R4 Freestanding Library: Character primitives and the C library Ben Craig 2023-02-09 2023-02 P2338R3 LWG Library
P2355R1 Postfix fold expressions S. Davis Herring 2023-02-13 2023-02 P2355R0 EWG Evolution
P2361R6 Unevaluated strings Corentin Jabot 2023-02-12 2023-02 P2361R5 EWG Evolution
P2363R5 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2023-02-10 2023-02 P2363R4 LWG Library
P2406R3 Add lazy_counted_iterator Yehezkel Bernat 2023-02-06 2023-02 P2406R2 SG9 Ranges,LEWG Library Evolution
P2406R4 Add lazy_counted_iterator Yehezkel Bernat 2023-02-07 2023-02 P2406R3 SG9 Ranges,LEWG Library Evolution
P2406R5 Add lazy_counted_iterator Yehezkel Bernat 2023-02-08 2023-02 P2406R4 SG9 Ranges,LEWG Library Evolution
P2495R2 Interfacing stringstreams with string_view Michael Hava 2023-02-14 2023-02 P2495R1 LWG Library
P2497R0 Testing for success or failure of charconv functions Jonathan Wakely 2023-01-25 2023-02   LEWG Library Evolution
P2521R3 Contract support -- Record of SG21 consensus Andrzej Krzemieński 2023-02-10 2023-02 P2521R2 SG21 Contracts
P2527R2 std::variant_alternative_index and std::tuple_element_index Alex Christensen 2023-01-27 2023-02 P2527R1 LWG Library
P2545R3 Why RCU Should be in C++26 Paul E. McKenney 2023-02-15 2023-02 P2545R2 LWG Library
P2558R2 Add @, $, and ` to the basic character set Steve Downey 2023-02-08 2023-02 P2558R1 SG16 Unicode,SG22 Compatability
P2572R1 std::format() fill character allowances Tom Honermann 2023-02-08 2023-02 P2572R0 LWG Library
P2588R3 Relax std::barrier phase completion step guarantees Gonzalo Brito 2023-02-07 2023-02 P2588R2 LWG Library
P2591R3 Concatenation of strings and string views Giuseppe D'Angelo 2023-01-30 2023-02 P2591R2 LEWG Library Evolution
P2592R3 Hashing support for std::chrono value classes Giuseppe D'Angelo 2023-02-10 2023-02 P2592R2 LEWG Library Evolution,LWG Library
P2593R1 Allowing static_assert(false) Barry Revzin 2023-01-19 2023-02 P2593R0 EWG Evolution
P2594R1 Slides: Allow programmer to control coroutine elision (P2477R3 Presentation)) Chuanqi Xu 2023-02-07 2023-02 P2594R0 EWG Evolution
P2609R2 Relaxing Ranges Just A Smidge John Eivind Helset 2023-01-22 2023-02 P2609R1 LWG Library
P2609R3 Relaxing Ranges Just A Smidge John Eivind Helset 2023-02-10 2023-02 P2609R2 LWG Library
P2616R4 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2023-02-15 2023-02 P2616R3 LEWG Library Evolution
P2621R2 UB? In my Lexer? Corentin Jabot 2023-02-08 2023-02 P2621R1 SG22 Compatability,EWG Evolution
P2641R2 Checking if a union alternative is active Barry Revzin 2023-02-07 2023-02 P2641R1 LEWG Library Evolution
P2652R2 Disallow user specialization of allocator_traits Pablo Halpern 2023-02-08 2023-02 P2652R1 LWG Library
P2655R2 common_reference_t of reference_wrapper Should Be a Reference Type Hui Xie 2023-02-06 2023-02 P2655R1 SG9 Ranges,LEWG Library Evolution
P2655R3 common_reference_t of reference_wrapper Should Be a Reference Type Hui Xie 2023-02-07 2023-02 P2655R2 SG9 Ranges,LEWG Library Evolution
P2656R2 C++ Ecosystem International Standard René Ferdinand Rivera Morell 2023-02-14 2023-02 P2656R1 SG15 Tooling
P2663R1 Proposal to support interleaved complex values in std::simd Daniel Towner 2023-01-25 2023-02 P2663R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2664R1 Proposal to extend std::simd with permutation API Daniel Towner 2023-01-25 2023-02 P2664R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2670R1 Non-transient constexpr allocation Barry Revzin 2023-02-03 2023-02 P2670R0 EWG Evolution
P2679R2 Fixing std::start_lifetime_as and std::start_lifetime_as_array Timur Doumler 2023-02-14 2023-02 P2679R1 CWG Core,LWG Library
P2681R1 More Basic Statistics Richard Dosselmann 2023-02-06 2023-02 P2681R0 SG6 Numerics,SG19 Machine Learning
P2693R1 Formatting thread::id and stacktrace Corentin Jabot 2023-02-09 2023-02 P2693R0 LEWG Library Evolution
P2695R1 A proposed plan for contracts in C++ Timur Doumler 2023-02-09 2023-02 P2695R0 SG21 Contracts,EWG Evolution
P2724R1 constant dangling Jarrad J. Waterloo 2023-02-13 2023-02 P2724R0 SG22 Compatability,SG23 Safety and Security
P2727R1 std::iterator_interface Zach Laine 2023-02-01 2023-02 P2727R0 LEWG Library Evolution
P2730R1 variable scope Jarrad J. Waterloo 2023-02-14 2023-02 P2730R0 SG22 Compatability,SG23 Safety and Security
P2733R1 Fix handling of empty specifiers in std::format Victor Zverovich 2023-02-06 2023-02 P2733R0 LEWG Library Evolution
P2733R2 Fix handling of empty specifiers in std::format Victor Zverovich 2023-02-09 2023-02 P2733R1 LEWG Library Evolution
P2733R3 Fix handling of empty specifiers in std::format Victor Zverovich 2023-02-10 2023-02 P2733R2 LEWG Library Evolution,LWG Library
P2736R2 Referencing the Unicode Standard Corentin Jabot 2023-02-09 2023-02 P2736R1 CWG Core
P2738R1 constexpr cast from void*: towards constexpr type-erasure Corentin Jabot 2023-02-13 2023-02 P2738R0 EWG Evolution
P2740R1 Simpler implicit dangling resolution Jarrad J. Waterloo 2023-01-15 2023-02 P2740R0 EWG Evolution
P2740R2 Simpler implicit dangling resolution Jarrad J. Waterloo 2023-02-13 2023-02 P2740R1 SG23 Safety and Security
P2741R1 user-generated static_assert messages Corentin Jabot 2023-02-12 2023-02 P2741R0 EWG Evolution
P2742R1 indirect dangling identification Jarrad J. Waterloo 2023-01-15 2023-02 P2742R0 EWG Evolution
P2742R2 indirect dangling identification Jarrad J. Waterloo 2023-02-13 2023-02 P2742R1 SG23 Safety and Security
P2749R0 Down with "character" Corentin Jabot 2023-02-12 2023-02   SG16 Unicode,CWG Core
P2750R1 C Dangling Reduction Jarrad J. Waterloo 2023-01-15 2023-02 P2750R0 EWG Evolution
P2750R2 C Dangling Reduction Jarrad J. Waterloo 2023-02-13 2023-02 P2750R1 SG22 Compatability,SG23 Safety and Security
P2751R1 Evaluation of Checked Contracts Joshua Berne 2023-02-14 2023-02 P2751R0 SG21 Contracts
P2754R0 Deconstructing Avoiding Uninitialized Reads of Auto Variables Jake Fevold 2023-01-24 2023-02   SG23 Safety and Security,EWG Evolution
P2759R1 DG Opinion on Safety for ISO C++ Michael Wong 2023-01-22 2023-02 P2759R0 SG23 Safety and Security,All of WG21
P2763R1 `layout_stride` static extents default constructor fix Christian Trott 2023-02-07 2023-02 P2763R0 All of WG21
P2770R0 Stashing stashing iterators for proper flattening Tim Song 2023-01-31 2023-02   LWG Library
P2771R0 Towards memory safety in C++ Thomas Neumann 2023-01-17 2023-02   EWGI SG17: EWG Incubator
P2772R0 std::integral_constant literals do not suffice - constexpr_t? Matthias Kretz 2023-01-17 2023-02   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2773R0 Considerations for Unicode algorithms Corentin Jabot 2023-02-16 2023-02   SG16 Unicode
P2779R0 Make basic_string_view's range construction conditionally explicit Giuseppe D'Angelo 2023-02-02 2023-02   SG9 Ranges,SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2782R0 A proposal for a type trait to detect if value initialization can be achieved by zero-filling Giuseppe D'Angelo 2023-02-13 2023-02   SG14 Low Latency,EWG Evolution,LEWG Library Evolution
P2784R0 Not halting the program after detected contract violation Andrzej Krzemieński 2023-02-09 2023-02   SG21 Contracts
P2786R0 Trivial relocatability options Mungo Gill 2023-02-10 2023-02   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P2787R0 pmr::generator - Promise Types are not Values Steve Downey 2023-02-06 2023-02   LEWG Library Evolution,LWG Library
P2787R1 pmr::generator - Promise Types are not Values Steve Downey 2023-02-08 2023-02 P2787R0 LWG Library
P2788R0 Linkage for modular constants S. Davis Herring 2023-02-11 2023-02   EWG Evolution,CWG Core
P2789R0 C++ Standard Library Ready Issues to be moved in Issaquah, Feb. 2023 Jonathan Wakely 2023-02-13 2023-02   All of WG21
P2790R0 C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023 Jonathan Wakely 2023-02-13 2023-02   All of WG21
P2791R0 mandate concepts for new features Ran Regev 2023-02-07 2023-02   LEWG Library Evolution,LWG Library,Direction Group
P2796R0 Core Language Working Group "ready" Issues for the February, 2023 meeting Jens Maurer 2023-02-11 2023-02   CWG Core
P2797R0 Proposed resolution for CWG2692 Static and explicit object member functions with the same par Gašper Ažman 2023-02-10 2023-02   EWG Evolution,CWG Core
P2798R0 Fix layout mappings all static extent default constructor Christian Trott 2023-02-09 2023-02   LWG Library
P2799R0 Closed ranges may be a problem; breaking counted_iterator is not the solution Tim Song 2023-02-13 2023-02   SG9 Ranges,LEWG Library Evolution
P2802R0 Presentation of P1385R7 to LEWG at Issaquah 2023 Guy Davidson 2023-02-09 2023-02   LEWG Library Evolution
P2803R0 std::simd Intro slides Matthias Kretz 2023-02-09 2023-02   LEWG Library Evolution
P2805R0 fiber_context: fibers without scheduler - LEWG slides Nat Goodspeed 2023-02-09 2023-02   LEWG Library Evolution
P2806R0 do expressions Barry Revzin 2023-02-14 2023-02   EWG Evolution
P2807R0 Issaquah Slides for Intel response to std::simd Daniel Towner 2023-02-10 2023-02   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2808R0 Internal linkage in the global module S. Davis Herring 2023-02-13 2023-02   EWG Evolution,CWG Core
P2810R0 is_debugger_present is_replaceable René Ferdinand Rivera Morell 2023-02-14 2023-02   SG15 Tooling
P2812R0 P1673R11 LEWG presentation Mark Hoemmen 2023-02-13 2023-02   LEWG Library Evolution
P2815R0 Slides for presentation on P2188R1 Anthony Williams 2023-02-16 2023-02   EWG Evolution
P2816R0 Safety Profiles: Type-and-resource Safe programming in ISO Standard C++ Bjarne Stroustrup 2023-02-16 2023-02   All of WG21
]]>
Mon, 20 Feb 2023 21:32:03 +0000 Administrator
C++23 “Pandemic Edition” is complete -- Herb Sutter https://isocpp.org//blog/2023/02/cpp23-pandemic-edition-is-complete-herb-sutter https://isocpp.org//blog/2023/02/cpp23-pandemic-edition-is-complete-herb-sutter image.pngC++23 is done!

C++23 "Pandemic Edition" is complete (Trip report: Winter ISO C++ standards meeting, Issaquah, WA, USA)

by Herb Sutter

From the article:

On Saturday, the ISO C++ committee completed technical work on C++23 in Issaquah, WA, USA! We resolved the remaining international comments on the C++23 draft, and are now producing the final document to be sent out for its international approval ballot (Draft International Standard, or DIS) and final editorial work, to be published later in 2023...

... Per our published C++23 schedule, this was our final meeting to finish technical work on C++23. No features were added or removed, we just handled fit-and-finish issues and primarily focused on finishing addressing the 137 national body comments we received in the summer’s international comment ballot (Committee Draft, or CD). You can find a list of C++23 features here, many of them already implemented in major compilers and libraries. C++23’s main theme was “completing C++20,” and some of the highlights include module “std”, “if consteval,” explicit “this” parameters, still more constexpr, still more CTAD, “[[assume]]”, simplifying implicit move, multidimensional and static “operator[]”, a bunch of Unicode improvements, and Nicolai Josuttis’ personal favorite: fixing the lifetime of temporaries in range-for loops...

]]>
Mon, 13 Feb 2023 22:31:19 +0000 Blog Staff
2022-12 Mailing Available https://isocpp.org//blog/2022/12/2022-12-mailing-available https://isocpp.org//blog/2022/12/2022-12-mailing-available The 2022-12 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0901R10 Size feedback in operator new Chris Kennelly 2022-11-09 2022-12 P0901R9 EWG Evolution
P1018R18 C++ Language Evolution status  pandemic edition  2022/07–2022/11 JF Bastien 2022-11-11 2022-12 P1018R17 EWG Evolution,All of WG21
P1018R19 C++ Language Evolution status JF Bastien 2022-11-15 2022-12 P1018R18 EWG Evolution,All of WG21
P1028R4 SG14 status_code and standard error object Niall Douglas 2022-10-28 2022-12 P1028R3 LEWG Library Evolution
P1202R5 Asymmetric Fences David Goldblatt 2022-11-11 2022-12 P1202R4 LWG Library
P1264R2 Revising the wording of stream input operations Louis Dionne 2022-12-04 2022-12 P1264R1 LWG Library
P1478R8 Byte-wise atomic memcpy Hans Boehm 2022-11-14 2022-12 P1478R7 All of WG21
P1619R2 Functions for Testing Boundary Conditions on Integer Operations Lisa Lippincott 2022-11-08 2022-12 P1619R1 LEWG Library Evolution
P2164R8 views::enumerate Corentin Jabot 2022-11-11 2022-12 P2164R7 LWG Library
P2167R3 Improved Proposed Wording for LWG 2114 (contextually convertible to bool) Daniel Krügler 2022-11-02 2022-12 P2167R2 LWG Library
P2248R7 Enabling list-initialization for algorithms Giuseppe D'Angelo 2022-11-13 2022-12 P2248R6 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2396R1 Concurrency TS 2 fixes David Goldblatt 2022-11-10 2022-12 P2396R0 LWG Library
P2434R0 Nondeterministic pointer provenance S. Davis Herring 2022-11-16 2022-12   SG22 Compatability,EWG Evolution
P2539R4 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-11-08 2022-12 P2539R3 LWG Library
P2546R3 Debugging Support René Ferdinand Rivera Morell 2022-11-15 2022-12 P2546R2 LEWG Library Evolution
P2548R2 copyable_function Michael Florian Hava 2022-11-08 2022-12 P2548R1 LEWG Library Evolution
P2548R3 copyable_function Michael Florian Hava 2022-11-11 2022-12 P2548R2 LEWG Library Evolution
P2548R4 copyable_function Michael Florian Hava 2022-11-12 2022-12 P2548R3 LEWG Library Evolution,LWG Library
P2552R1 On the ignorability of standard attributes Timur Doumler 2022-11-15 2022-12 P2552R0 EWG Evolution,CWG Core
P2559R1 Plan for Concurrency Technical Specification Version 2 Bryce Adelstein Lelbach 2022-11-16 2022-12 P2559R0 LEWG Library Evolution,LWG Library
P2564R1 consteval needs to propagate up Hal Finkel 2022-11-10 2022-12 P2564R0 EWG Evolution
P2564R2 consteval needs to propagate up Hal Finkel 2022-11-10 2022-12 P2564R1 EWG Evolution
P2564R3 consteval needs to propagate up Barry Revzin 2022-12-04 2022-12 P2564R2 CWG Core
P2570R1 Contract predicates that are not predicates Andrzej Krzemieński 2022-11-14 2022-12 P2570R0 SG21 Contracts
P2588R2 Relax std::barrier phase completion step guarantees Gonzalo Brito 2022-11-07 2022-12 P2588R1 LEWG Library Evolution
P2589R1 static operator[] Nevin Liber 2022-11-10 2022-12 P2589R0 CWG Core
P2602R2 Poison Pills are Too Toxic Barry Revzin 2022-11-07 2022-12 P2602R1 LEWG Library Evolution
P2614R2 Deprecate numeric_limits::has_denorm Matthias Kretz 2022-11-08 2022-12 P2614R1 LWG Library
P2615R1 Meaningful exports S. Davis Herring 2022-11-15 2022-12 P2615R0 EWG Evolution,CWG Core
P2616R1 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2022-11-09 2022-12 P2616R0 SG1 Concurrency and Parallelism
P2616R2 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2022-11-15 2022-12 P2616R1 SG1 Concurrency and Parallelism
P2640R2 Modules: Inner-scope Namespace Entities: Exported or Not? Nathan Sidwell 2022-11-15 2022-12 P2640R1 EWG Evolution
P2644R1 Final Fix of Broken Range based for Loop Rev 1 Nicolai Josuttis 2022-11-13 2022-12 P2644R0 CWG Core
P2647R1 Permitting static constexpr variables in constexpr functions Barry Revzin 2022-11-08 2022-12 P2647R0 EWG Evolution
P2649R0 2022-10 Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-11-11 2022-12   LEWG Library Evolution
P2650R0 2022-11 Library Evolution Polls Bryce Adelstein Lelbach 2022-11-17 2022-12   LEWG Library Evolution
P2652R1 Disallow user specialization of allocator_traits Pablo Halpern 2022-11-11 2022-12 P2652R0 LWG Library
P2653R1 Update Annex E based on Unicode 15.0 UAX 31 Steve Downey 2022-10-20 2022-12 P2653R0 SG16 Unicode,CWG Core
P2655R1 common_reference_t of reference_wrapper Should Be a Reference Type Hui Xie 2022-11-11 2022-12 P2655R0 SG9 Ranges,LEWG Library Evolution
P2657R1 C++ is the next C++ Jarrad J. Waterloo 2022-11-14 2022-12 P2657R0 EWG Evolution
P2658R1 temporary storage class specifiers Jarrad J. Waterloo 2022-11-14 2022-12 P2658R0 EWG Evolution
P2659R1 A Proposal to Publish a Technical Specification for Contracts Brian Bi 2022-11-14 2022-12 P2659R0 SG21 Contracts,EWG Evolution
P2664R0 Proposal to extend std::simd with permutation API Daniel Towner 2022-10-21 2022-12   SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library,Direction Group
P2674R1 A trait for implicit lifetime types Timur Doumler 2022-11-11 2022-12 P2674R0 CWG Core,LWG Library
P2679R1 Fixing std::start_lifetime_as and std::start_lifetime_as_array Timur Doumler 2022-11-11 2022-12 P2679R0 CWG Core,LWG Library
P2681R0 More Stats Functions Richard Dosselmann 2022-11-07 2022-12   SG6 Numerics,SG19 Machine Learning
P2693R0 Formatting thread::id and stacktrace Corentin Jabot 2022-11-11 2022-12   LEWG Library Evolution
P2695R0 A proposed plan for contracts in C++ Timur Doumler 2022-11-17 2022-12   SG21 Contracts,EWG Evolution
P2696R0 Introduce Cpp17Swappable as additional convenience requirements Daniel Krügler 2022-11-07 2022-12   LWG Library
P2697R0 Interfacing bitset with string_view Michael Florian Hava 2022-11-12 2022-12   LEWG Library Evolution
P2698R0 Unconditional termination is a serious problem Bjarne Stroustrup 2022-11-18 2022-12   SG21 Contracts
P2700R0 Questions on P2680 "Contracts for C++: Prioritizing Safety" Timur Doumler 2022-11-29 2022-12   SG21 Contracts
P2701R0 Translating Linker Input Files to Module Metadata Files Daniel Ruoso 2022-11-08 2022-12   SG15 Tooling
P2702R0 Specifying Importable Headers Daniel Ruoso 2022-11-08 2022-12   SG15 Tooling
P2703R0 C++ Standard Library Ready Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-07 2022-12   All of WG21
P2704R0 C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-20 2022-12   All of WG21
P2705R0 C++ Library Fundamentals TS Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-07 2022-12   All of WG21
P2706R0 Drafting for US 26-061: Redundant specification for defaulted functions Jason Merrill 2022-11-08 2022-12   CWG Core
P2708R0 No Future Fundamentals TSes Alisdair Meredith 2022-11-10 2022-12   LEWG Library Evolution
P2708R1 No Future Fundamentals TSes Alisdair Meredith 2022-11-10 2022-12 P2708R0 LWG Library
P2709R0 Core Language Working Group "ready" Issues for the November, 2022 meeting Jens Maurer 2022-11-11 2022-12   All of WG21
P2710R0 Core Language Working Group NB comment resolutions for the November, 2022 meeting Jens Maurer 2022-11-11 2022-12   All of WG21
P2711R0 Making multi-param (and other converting) constructors of views explicit Ville Voutilainen 2022-11-09 2022-12   LEWG Library Evolution,LWG Library
P2711R1 Making multi-param constructors of views explicit Ville Voutilainen 2022-11-11 2022-12 P2711R0 LWG Library
P2712R0 Classification of Contract-Checking Predicates Joshua Berne 2022-11-14 2022-12   SG21 Contracts
P2718R0 Wording for P2644R1 Fix for Range-based for Loop Joshua Berne 2022-11-11 2022-12   CWG Core
P2722R0 Slides: Beyond operator() (P2511R2 presentation) Zhihao Yuan 2022-11-12 2022-12   LEWG Library Evolution
P2723R0 Zero-initialize objects of automatic storage duration JF Bastien 2022-11-15 2022-12   SG12 Undefined and Unspecified Behavior,SG22 Compatability,EWG Evolution
P2725R0 std::integral_constant Literals Zach Laine 2022-11-18 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2726R0 Better std::tuple Indexing Zach Laine 2022-11-18 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2727R0 std::iterator_interface Zach Laine 2022-11-20 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
]]>
Tue, 06 Dec 2022 00:27:23 +0000 Administrator
2022-09 Mailing Available https://isocpp.org//blog/2022/09/2022-09-mailing-available https://isocpp.org//blog/2022/09/2022-09-mailing-available The 2022-09 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4917 Working Draft, Standard for Programming Language C++ Thomas Köppe 2022-09-04 2022-09   All of WG21
N4918 Editors' Report - Programming Languages - C++ Thomas Köppe 2022-09-08 2022-09   All of WG21
N4920 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-08-15 2022-09   All of WG21
N4921 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-08-15 2022-09   All of WG21
N4922 INCITS C++/WG21 agenda: 7-12 November 2022, Kona, HI US John Spicer 2022-09-05 2022-09   All of WG21
P0543R2 Saturation arithmetic Jens Maurer 2022-09-18 2022-09 P0543R1 LWG Library
P0792R11 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-09-13 2022-09 P0792R10 LWG Library
P0957R9 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-09-15 2022-09 P0957R8 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P0987R1 polymorphic_allocator instead of type-erasure Pablo Halpern 2022-09-14 2022-09 P0987R0 LWG Library
P1030R5 std::filesystem::path_view Niall Douglas 2022-09-15 2022-09 P1030R4 LEWG Library Evolution
P1985R3 Universal template parameters Gašper Ažman 2022-09-17 2022-09 P1985R1 SG7 Reflection,EWG Evolution,LEWG Library Evolution
P2348R3 Whitespaces Wording Revamp Corentin Jabot 2022-09-11 2022-09 P2348R2 EWG Evolution,CWG Core
P2495R1 Interfacing stringstreams with string_view Michael Hava 2022-09-14 2022-09 P2495R0 LEWG Library Evolution
P2586R0 Standard Secure Networking Niall Douglas 2022-09-13 2022-09   SG4 Networking,LEWG Library Evolution
P2587R3 to_string or not to_string Victor Zverovich 2022-08-28 2022-09 P2587R2 LWG Library
P2588R1 Relax std::barrier phase completion step guarantees Gonzalo Brito 2022-09-06 2022-09 P2588R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2603R1 member function pointer to function pointer Jarrad Waterloo 2022-09-04 2022-09 P2603R0 EWG Evolution,LEWG Library Evolution
P2620R2 Improve the wording for Universal Character Names in identifiers Corentin Jabot 2022-09-13 2022-09 P2620R1 CWG Core
P2623R2 implicit constant initialization Jarrad J. Waterloo 2022-09-12 2022-09 P2623R1 EWG Evolution
P2631R0 Publish TS Library Fundamentals v3 Now! Alisdair Meredith 2022-09-12 2022-09   LEWG Library Evolution,LWG Library
P2636R0 References to ranges should always be viewable Hannes Hauswedell 2022-09-14 2022-09   SG9 Ranges,LEWG Library Evolution
P2637R0 Member visit and apply Barry Revzin 2022-09-17 2022-09   LEWG Library Evolution
P2638R0 Intel's response to P1915R0 for std::simd parallelism in TS 2 Daniel Towner 2022-09-21 2022-09   SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library
P2639R0 Static Allocations Torben Thaysen 2022-09-21 2022-09   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator
P2640R0 Modules: Inner-scope Namespace Entities: Exported or Not? Nathan Sidwell 2022-09-12 2022-09   EWG Evolution
P2641R0 Checking if a union alternative is active Barry Revzin 2022-09-17 2022-09   LEWG Library Evolution
P2642R0 Padded mdspan layouts Mark Hoemmen 2022-09-14 2022-09   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2643R0 Improving C++ concurrency features Gonzalo Brito Gadeschi 2022-09-15 2022-09   SG1 Concurrency and Parallelism
]]>
Fri, 23 Sep 2022 15:02:27 +0000 Administrator
2022-08 Mailing Available https://isocpp.org//blog/2022/08/2022-08-mailing-available https://isocpp.org//blog/2022/08/2022-08-mailing-available The 2022-08 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4914 WG21 2022-07 Admin telecon minutes Nina Ranns 2022-08-21 2022-08   All of WG21
N4915 Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++) Herb Sutter 2022-07-20 2022-08   All of WG21
N4916 WG21 2022-07 Virtual Meeting Minutes of Meeting Nina Ranns 2022-08-12 2022-08   All of WG21
P0843R5 static_vector Gonzalo Brito Gadeschi 2022-08-14 2022-08 P0843R4 LEWG Library Evolution
P1255R9 A view of 0 or 1 elements: views::maybe Steve Downey 2022-08-15 2022-08 P1255R8 SG9 Ranges,LEWG Library Evolution
P2019R1 Usability improvements for std::thread Corentin Jabot 2022-08-09 2022-08 P2019R0 SG1 Concurrency and Parallelism
P2164R6 views::enumerate Corentin Jabot 2022-08-09 2022-08 P2164R5 SG9 Ranges,LEWG Library Evolution
P2264R4 Make assert() macro user friendly for C and C++ Peter Sommerlad 2022-08-08 2022-08 P2264R3 LEWG Library Evolution
P2477R3 Allow programmers to control coroutine elision Chuanqi Xu 2022-07-22 2022-08 P2477R2 EWG Evolution
P2511R2 Beyond operator(): NTTP callables in type-erased call wrappers Zhihao Yuan 2022-08-14 2022-08 P2511R1 LWG Library
P2517R1 Add a conditional noexcept specification to std::apply Hewill Kang 2022-08-21 2022-08 P2517R0 LEWG Library Evolution
P2537R1 Relax va_start Requirements to Match C JeanHeyd Meneide 2022-07-22 2022-08 P2537R0 LEWG Library Evolution
P2581R1 Specifying the Interoperability of Built Module Interface Files Daniel Ruoso 2022-07-28 2022-08 P2581R0 SG15 Tooling
P2587R2 to_string or not to_string Victor Zverovich 2022-08-09 2022-08 P2587R1 LWG Library
P2611R0 2022-07 Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-07-27 2022-08   LEWG Library Evolution
P2620R1 Lifting artificial restriction on universal character names Corentin Jabot 2022-08-10 2022-08 P2620R0 SG16 Unicode,SG22 Compatability,EWG Evolution
P2621R1 UB? In my Lexer? Corentin Jabot 2022-08-09 2022-08 P2621R0 SG22 Compatability,EWG Evolution
P2623R1 implicit constant initialization Jarrad J. Waterloo 2022-08-14 2022-08 P2623R0 EWG Evolution
P2625R0 Slides: Life without operator() (P2511R1 presentation) Zhihao Yuan 2022-07-19 2022-08   LEWG Library Evolution
P2626R0 charN_t incremental adoption: Casting pointers of UTF character types Corentin Jabot 2022-08-09 2022-08   SG16 Unicode,LEWG Library Evolution
P2627R0 WG21 2022-07 Virtual Meeting Record of Discussion Nina Ranns 2022-08-12 2022-08   All of WG21
P2628R0 Extend barrier APIs with memory_order Gonzalo Brito Gadeschi 2022-08-11 2022-08   SG1 Concurrency and Parallelism
P2629R0 barrier token-less split arrive/wait Gonzalo Brito Gadeschi 2022-08-11 2022-08   SG1 Concurrency and Parallelism
P2630R0 Submdspan Christian Trott 2022-08-14 2022-08   LEWG Library Evolution
P2633R0 thread_local_inherit: Enhancing thread-local storage Justin Cooke 2022-08-21 2022-08   SG1 Concurrency and Parallelism,EWG Evolution
P2634R0 Allow qualifiers in constructor declarations Justin Cooke 2022-08-21 2022-08   EWG Evolution
P2635R0 Enhancing the break statement Justin Cooke 2022-08-21 2022-08   EWG Evolution
]]>
Mon, 22 Aug 2022 16:09:56 +0000 Administrator
July 2022 ISO C++ committee virtual meeting report -- Timur Doumler https://isocpp.org//blog/2022/08/july-2022-iso-cpp-committee-virtual-meeting-report https://isocpp.org//blog/2022/08/july-2022-iso-cpp-committee-virtual-meeting-report Here is my report from the July 2022 ISO C++ committee virtual meeting.

Meeting Report

by Timur Doumler

About the report:

This was the last virtual plenary before WG21 returns to meeting in person, and the last plenary where we voted new features into C++23, which is now in feature freeze.

]]>
Wed, 10 Aug 2022 17:06:36 +0000 Timur Doumler
2022-07 Mailing Available https://isocpp.org//blog/2022/07/2022-07-mailing-available https://isocpp.org//blog/2022/07/2022-07-mailing-available The 2022-07 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0009R18 MDSPAN Christian Trott 2022-07-13 2022-07 P0009R17 All of WG21
P1018R17 C++ Language Evolution status pandemic edition  2022/06–2022/07 JF Bastien 2022-07-09 2022-07 P1018R16 EWG Evolution,All of WG21
P1083R6 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2022-07-08 2022-07 P1083R5 LEWG Library Evolution
P1255R8 A view of 0 or 1 elements: views::maybe Steve Downey 2022-07-11 2022-07 P1255R7 SG9 Ranges,LEWG Library Evolution
P1642R11 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-07-01 2022-07 P1642R10 CWG Core
P1684R3 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-07-14 2022-07 P1684R2 LEWG Library Evolution
P1899R3 stride_view Christopher Di Bella, Tim Song 2022-07-10 2022-07 P1899R2 SG9 Ranges,LEWG Library Evolution
P1967R8 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-06-28 2022-07 P1967R7 EWG Evolution
P2047R3 An allocator-aware optional type Nina Ranns 2022-07-08 2022-07 P2047R2 LEWG Library Evolution
P2079R3 System execution context Lee Howes 2022-07-15 2022-07 P2079R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2165R4 Compatibility between tuple, pair and tuple-like objects Corentin Jabot 2022-07-15 2022-07 P2165R3 LEWG Library Evolution
P2248R5 Enabling list-initialization for algorithms Giuseppe D'Angelo 2022-06-29 2022-07 P2248R4 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2295R6 Support for UTF-8 as a portable source file encoding Corentin Jabot 2022-07-01 2022-07 P2295R5 SG22 Compatability,EWG Evolution
P2361R5 Unevaluated strings Corentin Jabot 2022-07-09 2022-07 P2361R4 EWG Evolution
P2374R4 views::cartesian_product Sy Brand 2022-07-13 2022-07 P2374R3 LWG Library
P2404R3 Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with Justin Bassett 2022-07-08 2022-07 P2404R2 SG9 Ranges,LEWG Library Evolution,LWG Library
P2417R2 A more constexpr bitset Daniil Goncharov 2022-07-16 2022-07 P2417R1 LWG Library
P2419R2 Clarify handling of encodings in localized formatting of chrono types Victor Zverovich 2022-07-15 2022-07 P2419R1 LWG Library
P2460R2 Relax requirements on wchar_t to match existing practices Corentin Jabot 2022-07-15 2022-07 P2460R1 SG22 Compatability,CWG Core
P2474R2 views::repeat Michał Dominiak 2022-07-13 2022-07 P2474R1 SG9 Ranges,LWG Library
P2481R1 Forwarding reference to specific type/template Barry Revzin 2022-07-15 2022-07 P2481R0 EWG Evolution
P2494R2 Relaxing range adaptors to allow for move only types Michał Dominiak 2022-07-13 2022-07 P2494R1 SG9 Ranges,LWG Library
P2513R4 char8_t Compatibility and Portability Fix JeanHeyd Meneide 2022-06-26 2022-07 P2513R3 EWG Evolution
P2547R1 Language support for customisable functions Lewis Baker 2022-07-16 2022-07 P2547R0 EWG Evolution
P2548R0 copyable_function Michael Florian Hava 2022-07-13 2022-07   LEWG Library Evolution
P2549R1 std::unexpected should have error() as member accessor Yihe Li 2022-07-04 2022-07 P2549R0 LWG Library
P2561R0 operator?? Barry Revzin 2022-07-10 2022-07   EWG Evolution
P2579R0 Mitigation strategies for P2036 "Changing scope for lambda trailing-return-type" Corentin Jabot 2022-07-01 2022-07   EWG Evolution,CWG Core
P2585R1 Improving default container formatting Barry Revzin 2022-07-15 2022-07 P2585R0 LEWG Library Evolution
P2587R1 to_string or not to_string Victor Zverovich 2022-06-24 2022-07 P2587R0 SG16 Unicode
P2590R2 Explicit lifetime management Timur Doumler 2022-07-15 2022-07 P2590R1 CWG Core,LWG Library
P2592R1 Hashing support for std::chrono value classes Giuseppe D'Angelo 2022-06-30 2022-07 P2592R0 LEWG Library Evolution
P2601R1 Make redundant empty angle brackets optional Justin Cooke 2022-07-16 2022-07 P2601R0 EWG Evolution,CWG Core
P2602R1 Poison Pills are Too Toxic Barry Revzin 2022-07-11 2022-07 P2602R0 LEWG Library Evolution
P2609R1 Relaxing Ranges Just A Smidge John Eivind Helset 2022-06-29 2022-07 P2609R0 SG9 Ranges,LEWG Library Evolution
P2610R0 2022-07 Library Evolution Polls Bryce Adelstein Lelbach 2022-06-29 2022-07   LEWG Library Evolution
P2613R1 Add the missing `empty` to `mdspan` Yihe Le 2022-06-29 2022-07 P2613R0 LEWG Library Evolution
P2614R0 Deprecate numeric_limits::has_denorm Matthias Kretz 2022-07-06 2022-07   SG6 Numerics,LEWG Library Evolution
P2615R0 Meaningful exports S. Davis Herring 2022-07-01 2022-07   CWG Core
P2616R0 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2022-07-05 2022-07   SG1 Concurrency and Parallelism
P2617R0 Responses to NB comments on DTS 12907 "Extensions to C++ for Transactional Memory Version 2" Jens Maurer 2022-07-15 2022-07   SG5 Transactional Memory,CWG Core
P2618R0 C++ Standard Library Issues to be moved in Virtual Plenary, Jul. 2022 Jonathan Wakely 2022-07-15 2022-07   All of WG21
P2620R0 Lifting artificial restriction on universal character names Corentin Jabot 2022-07-09 2022-07   SG16 Unicode,SG22 Compatability,EWG Evolution
P2621R0 UB? In my Lexer? Corentin Jabot 2022-07-09 2022-07   SG22 Compatability,EWG Evolution
P2622R0 Core Language Working Group "ready" Issues for the July, 2022 meeting Jens Maurer 2022-07-15 2022-07   All of WG21
P2623R0 implicit constant initialization Jarrad J. Waterloo 2022-07-13 2022-07   EWG Evolution
P2624R0 Make operations on bools more portable Justin Cooke 2022-07-16 2022-07   CWG Core
]]>
Thu, 21 Jul 2022 20:41:21 +0000 Administrator
Advancing the State of the Art for std::unordered_map Implementations -- boost.org https://isocpp.org//blog/2022/07/advancing-the-state-of-the-art-for-stdunordered_map-implementations https://isocpp.org//blog/2022/07/advancing-the-state-of-the-art-for-stdunordered_map-implementations Several Boost authors have embarked on a project to improve the performance of boost's associative containers.

Boost.Unordered

by boost.org

About the improvements:

Boost.Unordered's new implementation of std::unordered_map (and multimap, set and multiset variants), and to extend its portfolio of available containers to offer faster, non-standard alternatives based on open addressing.

The first goal of the project has been completed in time for Boost 1.80 (due August 2022). We describe here the technical innovations introduced in boost::unordered_map that makes it the fastest implementation of std::unordered_map on the market.

 

]]>
Mon, 04 Jul 2022 18:53:32 +0000 Vinnie
2022-06 Mailing Available https://isocpp.org//blog/2022/06/2022-06-mailing-available https://isocpp.org//blog/2022/06/2022-06-mailing-available The 2022-06 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0009R17 MDSPAN Christian Trott 2022-06-15 2022-06 P0009R16 LWG Library
P0429R9 A Standard flat_map Zach Laine 2022-06-17 2022-06 P0429R8 LWG Library
P0447R20 Introduction of std::hive to the standard library Matt Bentley 2022-06-14 2022-06 P0447R19 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0792R10 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-06-14 2022-06 P0792R9 LEWG Library Evolution,LWG Library
P0957R8 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-06-15 2022-06 P0957R7 LEWG Library Evolution
P1018R16 C++ Language Evolution status  pandemic edition  2022/02–2022/06 JF Bastien 2022-06-16 2022-06 P1018R15 EWG Evolution,All of WG21
P1144R6 Object relocation in terms of move plus destroy Arthur O'Dwyer 2022-06-09 2022-06 P1144R5 EWG Evolution,LEWG Library Evolution
P1222R4 A Standard flat_set Zach Laine 2022-06-13 2022-06 P1222R3 LWG Library
P1223R5 find_last Zach Laine 2022-06-17 2022-06 P1223R4 LWG Library
P1642R10 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-06-18 2022-06 P1642R9 CWG Core,LWG Library
P1673R9 A free function linear algebra interface based on the BLAS Mark Hoemmen 2022-06-14 2022-06 P1673R8 SG6 Numerics,LEWG Library Evolution
P1689R5 Format for describing dependencies of source files Ben Boeckel 2022-06-06 2022-06 P1689R4 SG15 Tooling,SG16 Unicode
P1774R8 Portable assumptions Timur Doumler 2022-06-14 2022-06 P1774R7 CWG Core
P1839R5 Accessing object representations Timur Doumler 2022-06-16 2022-06 P1839R4 CWG Core
P1967R7 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-06-23 2022-06 P1967R6 EWG Evolution
P2167R2 Improved Proposed Wording for LWG 2114 (contextually convertible to bool) Daniel Krügler 2022-06-15 2022-06 P2167R1 LWG Library
P2278R4 cbegin should always return a constant iterator Barry Revzin 2022-06-17 2022-06 P2278R3 LEWG Library Evolution
P2490R3 Zero-overhead exception stacktraces Ed Catmur 2022-06-20 2022-06   LEWG Library Evolution
P2502R2 std::generator: Synchronous Coroutine Generator for Ranges Casey Carter 2022-06-03 2022-06 P2502R1 LWG Library
P2505R3 Monadic Functions for std::expected Jeff Garland 2022-06-15 2022-06 P2505R2 LEWG Library Evolution,LWG Library
P2505R4 Monadic Functions for std::expected Jeff Garland 2022-06-17 2022-06 P2505R3 LEWG Library Evolution,LWG Library
P2513R3 char8_t Compatibility and Portability Fix JeanHeyd Meneide 2022-06-17 2022-06 P2513R2 EWG Evolution
P2551R2 Clarify intent of P1841 numeric traits Matthias Kretz 2022-06-22 2022-06 P2551R1 LEWG Library Evolution
P2562R1 constexpr Stable Sorting Oliver Rosten 2022-06-14 2022-06 P2562R0 LEWG Library Evolution,LWG Library
P2570R0 On side effects in contract annotations Andrzej Krzemieński 2022-06-08 2022-06   SG21 Contracts
P2572R0 std::format() fill character allowances Tom Honermann 2022-06-11 2022-06   SG16 Unicode,LEWG Library Evolution
P2575R0 2022-05 Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-06-22 2022-06   LEWG Library Evolution
P2582R1 Wording for class template argument deduction from inherited constructors Timur Doumler 2022-05-23 2022-06 P2582R0 CWG Core
P2590R1 Explicit lifetime management Timur Doumler 2022-06-15 2022-06 P2590R0 CWG Core,LWG Library
P2591R1 Concatenation of strings and string views Giuseppe D'Angelo 2022-06-02 2022-06 P2591R0 LEWG Library Evolution
P2594R0 Slides: Allow programmer to control and detect coroutine elision (P2477R2 Presentation)) Chuanqi Xu 2022-05-26 2022-06   EWG Evolution,LEWG Library Evolution
P2596R0 Improve std::hive::reshape Arthur O'Dwyer 2022-06-09 2022-06   SG14 Low Latency,LEWG Library Evolution
P2598R0 "Changing scope for lambda trailing-return-type" (P2036) should not be a DR Ville Voutilainen 2022-05-29 2022-06   EWG Evolution,CWG Core
P2599R0 mdspan::size_type should be index_type Nevin Liber 2022-06-07 2022-06   LEWG Library Evolution
P2599R1 mdspan::size_type should be index_type Nevin Liber 2022-06-13 2022-06 P2599R0 LEWG Library Evolution
P2599R2 index _type & size_type in mdspan Nevin Liber 2022-06-23 2022-06 P2599R1 LEWG Library Evolution,LWG Library
P2600R0 A minimal ADL restriction to avoid ill-formed template instantiation Matthias Kretz 2022-06-15 2022-06   EWGI SG17: EWG Incubator,EWG Evolution
P2601R0 To make redundant empty angle brackets optional for class template argument lists Justin Cooke 2022-06-23 2022-06   EWG Evolution,CWG Core
P2602R0 Poison Pills are Too Toxic Barry Revzin 2022-06-17 2022-06   LEWG Library Evolution
P2603R0 member function pointer to function pointer Jarrad Waterloo 2022-06-15 2022-06   EWG Evolution,LEWG Library Evolution
P2604R0 MDSPAN: rename pointer and contiguous Christian Trott 2022-06-15 2022-06   LEWG Library Evolution,LWG Library
P2605R0 SG16: Unicode meeting summaries 2022-01-12 through 2022-06-08 Tom Honermann 2022-06-15 2022-06   SG16 Unicode
P2607R0 Let alignas specify minimum alignment Justin Cooke 2022-06-23 2022-06   CWG Core
P2608R0 Allow multiple init-statements Justin Cooke 2022-06-23 2022-06   EWG Evolution
P2609R0 Relaxing Ranges Just A Smidge John Eivind Helset 2022-06-23 2022-06   SG9 Ranges
P2613R0 Add the missing `empty` to `mdspan` Yihe Le 2022-06-23 2022-06   LEWG Library Evolution
]]>
Fri, 24 Jun 2022 00:48:15 +0000 Administrator
Results summary: 2022 Annual C++ Developer Survey "Lite" https://isocpp.org//blog/2022/06/results-summary-2022-annual-cpp-developer-survey-lite https://isocpp.org//blog/2022/06/results-summary-2022-annual-cpp-developer-survey-lite Over the past week, we ran our 2022 annual global C++ developer survey. Thank you to everyone who responded. As promised, here is a summary of the results:

CppDevSurvey-2022-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.

]]>
Wed, 08 Jun 2022 03:02:42 +0000 Blog Staff
2022-05 Mailing Available https://isocpp.org//blog/2022/05/2022-05-mailing-available https://isocpp.org//blog/2022/05/2022-05-mailing-available The 2022-05 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4912 2022-11 Kona hybrid meeting information Herb Sutter 2022-05-05 2022-05   All of WG21
N4913 PL22.16/WG21 agenda: 25 July 2022, Virtual Meeting John Spicer 2022-05-22 2022-05   All of WG21
P0543R1 Saturation arithmetic Jens Maurer 2022-05-02 2022-05 P0543R0 SG6 Numerics,LEWG Library Evolution
P0792R9 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-05-20 2022-05 P0792R8 LEWG Library Evolution,LWG Library
P0901R9 Size feedback in operator new Chris Kennelly 2022-04-26 2022-05 P0901R8 CWG Core,LWG Library
P1021R6 Filling holes in Class Template Argument Deduction Mike Spertus 2022-05-22 2022-05 P1021R5 CWG Core
P1255R7 A view of 0 or 1 elements: views::maybe Steve Downey 2022-05-09 2022-05 P1255R6 SG9 Ranges
P1642R9 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-05-15 2022-05 P1642R8 CWG Core,LWG Library
P1673R8 A free function linear algebra interface based on the BLAS Mark Hoemmen 2022-05-15 2022-05 P1673R7 SG6 Numerics,LEWG Library Evolution
P1674R2 Evolving a Standard C++ Linear Algebra Library from the BLAS Mark Hoemmen 2022-05-15 2022-05 P1674R1 LEWG Library Evolution
P1774R7 Portable assumptions Timur Doumler 2022-05-15 2022-05 P1774R6 CWG Core
P1967R6 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-05-02 2022-05 P1967R5 EWG Evolution
P2286R8 Formatting Ranges Barry Revzin 2022-05-16 2022-05 P2286R7 LEWG Library Evolution
P2429R0 Concepts Error Messages for Humans Sy Brand 2022-05-16 2022-05   SG15 Tooling
P2445R1 forward_like Gašper Ažman 2022-05-13 2022-05 P2445R0 LWG Library
P2460R1 Relax requirements on wchar_t to match existing practices Corentin Jabot 2022-05-12 2022-05 P2460R0 SG22 Compatability,CWG Core
P2472R3 make function_ref more functional Jarrad J. Waterloo 2022-05-12 2022-05 P2472R2 LEWG Library Evolution
P2510R3 Formatting pointers Mark de Wever 2022-05-22 2022-05 P2510R2 LWG Library
P2513R2 char8_t Compatibility and Portability Fix JeanHeyd Meneide 2022-05-12 2022-05 P2513R1 EWG Evolution
P2542R2 views::concat Hui Xie 2022-05-11 2022-05 P2542R1 SG9 Ranges,LEWG Library Evolution
P2551R1 Clarify intent of P1841 numeric traits Matthias Kretz 2022-05-09 2022-05 P2551R0 LEWG Library Evolution
P2558R1 Add @, $, and ` to the basic character set Steve Downey 2022-05-11 2022-05 P2558R0 SG16 Unicode,SG22 Compatability
P2577R1 C++ Modules Discovery in Prebuilt Library Releases Daniel Ruoso 2022-04-30 2022-05 P2577R0 SG15 Tooling
P2577R2 C++ Modules Discovery in Prebuilt Library Releases Daniel Ruoso 2022-05-17 2022-05 P2577R1 SG15 Tooling
P2580R0 Tuple protocol for C-style arrays T[N] Paolo Di Giglio 2022-05-22 2022-05   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2581R0 Specifying the Interoperability of Binary Module Interface Files Daniel Ruoso 2022-04-26 2022-05   SG15 Tooling
P2582R0 Wording for class template argument deduction from inherited constructors Timur Doumler 2022-05-15 2022-05   CWG Core
P2584R0 A More Composable from_chars Corentin Jabot 2022-05-12 2022-05   LEWG Library Evolution
P2585R0 Improving default container formatting Barry Revzin 2022-05-15 2022-05   LEWG Library Evolution
P2587R0 to_string or not to_string Victor Zverovich 2022-05-14 2022-05   SG16 Unicode,LEWGI SG18: LEWG Incubator
P2588R0 Relax std::barrier phase completion step guarantees Gonzalo Brito 2022-05-22 2022-05   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2589R0 static operator[] Nevin Liber 2022-05-12 2022-05   EWG Evolution
P2590R0 Explicit lifetime management Timur Doumler 2022-05-16 2022-05   CWG Core,LWG Library
P2591R0 Concatenation of strings and string views Giuseppe D'Angelo 2022-05-19 2022-05   LEWG Library Evolution
P2592R0 Hashing support for std::chrono value classes Giuseppe D'Angelo 2022-05-20 2022-05   LEWG Library Evolution
P2593R0 Allowing static_assert(false) Barry Revzin 2022-05-21 2022-05   EWG Evolution
]]>
Tue, 24 May 2022 15:29:45 +0000 Administrator
2022-04 Mailing Available https://isocpp.org//blog/2022/04/2022-04-mailing-available https://isocpp.org//blog/2022/04/2022-04-mailing-available The 2022-04 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0429R8 A Standard flat_map Zach Laine 2022-04-18 2022-04 P0429R7 LWG Library
P0957R7 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-04-19 2022-04 P0957R6 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P1061R2 Structured Bindings can introduce a Pack Barry Revzin 2022-04-22 2022-04 P1061R1 EWG Evolution
P1169R4 static operator() Barry Revzin 2022-04-10 2022-04 P1169R3 CWG Core
P1222R3 A Standard flat_set Zach Laine 2022-04-18 2022-04 P1222R2 LWG Library
P1223R4 find_last Zach Laine 2022-04-15 2022-04 P1223R3 LEWG Library Evolution,LWG Library
P1467R9 Extended floating-point types and standard names David Olsen 2022-04-22 2022-04 P1467R8 CWG Core,LWG Library
P1642R8 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-04-13 2022-04 P1642R7 LWG Library
P1673R7 A free function linear algebra interface based on the BLAS Mark Hoemmen 2022-04-14 2022-04 P1673R6 LEWG Library Evolution
P1674R1 Evolving a Standard C++ Linear Algebra Library from the BLAS Mark Hoemmen 2022-04-14 2022-04 P1674R0 LEWG Library Evolution
P1684R2 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-04-24 2022-04 P1684R1 LEWG Library Evolution
P1967R5 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-04-13 2022-04 P1967R4 EWG Evolution
P2071R2 Named universal character escapes Tom Honermann 2022-03-27 2022-04 P2071R1 CWG Core
P2093R14 Formatted output Victor Zverovich 2022-03-25 2022-04 P2093R13 LWG Library
P2174R1 Compound Literals Zhihao Yuan 2022-04-15 2022-04 P2174R0 EWG Evolution
P2198R5 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2022-04-13 2022-04 P2198R4 LWG Library
P2266R3 Simpler implicit move Arthur O'Dwyer 2022-03-26 2022-04 P2266R2 CWG Core
P2278R3 cbegin should always return a constant iterator Barry Revzin 2022-04-11 2022-04 P2278R2 LEWG Library Evolution
P2280R4 Using unknown references in constant expressions Barry Revzin 2022-04-10 2022-04 P2280R3 CWG Core
P2286R7 Formatting Ranges Barry Revzin 2022-04-22 2022-04 P2286R6 LEWG Library Evolution
P2300R5 `std::execution` Michał Dominiak 2022-04-22 2022-04 P2300R4 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R4 std::ranges::contains Christopher Di Bella 2022-04-16 2022-04 P2302R3 All of WG21
P2305R5 Type inference for object definitions Jens Gustedt 2022-04-08 2022-04 P2305R4 SG22 Compatability
P2322R6 ranges::fold Barry Revzin 2022-04-22 2022-04 P2322R5 LEWG Library Evolution
P2400R3 Library Evolution Report: 2021-09-28 to 2022-01-25 Bryce Adelstein Lelbach 2022-04-21 2022-04 P2400R2 All of WG21
P2408R5 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2022-04-22 2022-04 P2408R4 LWG Library
P2472R2 make function_ref more functional Jarrad J. Waterloo 2022-04-14 2022-04 P2472R1 LEWG Library Evolution
P2505R2 Monadic Functions for std::expected Jeff Garland 2022-04-15 2022-04 P2505R1 LEWG Library Evolution,LWG Library
P2510R2 Formatting pointers Mark de Wever 2022-04-14 2022-04 P2510R1 LWG Library
P2538R1 ADL-proof std::projected Arthur O'Dwyer 2022-04-01 2022-04 P2538R0 LEWG Library Evolution,LWG Library
P2539R1 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-04-11 2022-04 P2539R0 LEWG Library Evolution
P2542R1 views::concat Hui Xie 2022-03-28 2022-04 P2542R0 SG9 Ranges,LEWG Library Evolution
P2546R1 Debugging Support René Ferdinand Rivera Morell 2022-04-10 2022-04 P2546R0 LEWG Library Evolution
P2559R0 Plan for Concurrency Technical Specification Version 2 Bryce Adelstein Lelbach 2022-04-01 2022-04   SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P2573R0 = delete("should have a reason"); Yihe Li 2022-04-14 2022-04   EWGI SG17: EWG Incubator,EWG Evolution
P2574R0 2022-05 Library Evolution Polls Bryce Adelstein Lelbach 2022-04-22 2022-04   LEWG Library Evolution
P2576R0 The constexpr specifier for object definitions Jens Gustedt 2022-04-08 2022-04   SG22 Compatability
P2577R0 C++ Modules Discovery in Prebuilt Library Releases Daniel Ruoso 2022-04-11 2022-04   SG15 Tooling
]]>
Mon, 25 Apr 2022 15:07:24 +0000 Administrator