Standardization

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

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

C++23 “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...

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

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

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

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

Advancing the State of the Art for std::unordered_map Implementations -- boost.org

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.