<![CDATA[Standard C++ | Standardization]]> http://isocpp.org/blog en Copyright 2024 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 <![CDATA[

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.

 

]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

Meeting C++ hosted an online AMA with Herb Sutter on Friday.

AMA with Herb Sutter - Meeting C++ live

by Jens Weller & Herb Sutter

Video:

]]>
<![CDATA[News, Video & On-Demand, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> Tue, 16 Apr 2024 18:17:20 +0000 Administrator
Results summary: 2024 Annual C++ Developer Survey &quot;Lite&quot; 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 <![CDATA[

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

CppDevSurvey-2024-summary.pdf

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

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

]]>
<![CDATA[News, Standardization,]]> Fri, 12 Apr 2024 03:45:59 +0000 Blog Staff
Survey closing soon: 2024 Annual C++ Developer Survey &quot;Lite&quot; 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 <![CDATA[

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!

]]>
<![CDATA[News, Standardization,]]> Mon, 08 Apr 2024 08:36:03 +0000 Blog Staff
2024 Annual C++ Developer Survey &quot;Lite&quot; https://isocpp.org//blog/2024/04/2024-annual-cpp-developer-survey-lite https://isocpp.org//blog/2024/04/2024-annual-cpp-developer-survey-lite <![CDATA[

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!

]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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.

]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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.

]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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.

]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> Tue, 23 May 2023 15:52:38 +0000 Administrator
Results summary: 2023 Annual C++ Developer Survey &quot;Lite&quot; 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 <![CDATA[

Over the past week, we ran our 2023 annual global C++ developer surveyThank 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.

]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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

]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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.

]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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.

 

]]>
<![CDATA[News, Articles & Books, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> Fri, 24 Jun 2022 00:48:15 +0000 Administrator
Results summary: 2022 Annual C++ Developer Survey &quot;Lite&quot; 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 <![CDATA[

Over the past week, we ran our 2022 annual global C++ developer surveyThank 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.

]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> 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 <![CDATA[

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
]]>
<![CDATA[News, Standardization,]]> Mon, 25 Apr 2022 15:07:24 +0000 Administrator
2022-03 Mailing Available https://isocpp.org//blog/2022/03/2022-03-mailing-available https://isocpp.org//blog/2022/03/2022-03-mailing-available <![CDATA[

The 2022-03 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4908 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-02-19 2022-03   All of WG21
N4909 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-02-19 2022-03   All of WG21
N4910 Working Draft, Standard for Programming Language C++ Thomas Köppe 2022-03-17 2022-03   All of WG21
N4911 Editors' Report - Programming Languages - C++ Thomas Köppe 2022-03-17 2022-03   All of WG21
P0009R16 MDSPAN Christian Trott 2022-03-15 2022-03 P0009R15 LWG Library
P0957R6 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-03-15 2022-03 P0957R5 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P1083R5 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2022-02-24 2022-03 P1083R4 LEWG Library Evolution
P1684R1 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-03-20 2022-03 P1684R0 LEWG Library Evolution
P1708R6 Simple Statistical Functions Richard Dosselman 2022-03-15 2022-03 P1708R5 SG6 Numerics,SG19 Machine Learning,LEWG Library Evolution
P1839R4 Accessing Object Representations Krystian Stasiowski 2022-03-16 2022-03 P1839R3 CWG Core
P2264R3 Make assert() macro user friendly for C and C++ Peter Sommerlad 2022-02-27 2022-03 P2264R2 SG22 Compatability,LEWG Library Evolution
P2290R3 Delimited escape sequences Corentin Jabot 2022-02-25 2022-03 P2290R2 SG22 Compatability,CWG Core
P2465R3 Standard Library Modules std and std.compat Stephan T. Lavavej 2022-03-11 2022-03 P2465R2 CWG Core,LWG Library
P2510R1 Formatting pointers Mark de Wever 2022-03-20 2022-03 P2510R0 LWG Library
P2511R1 Beyond operator(): NTTP callables in type-erased call wrappers Zhihao Yuan 2022-03-15 2022-03 P2511R0 LEWG Library Evolution
P2521R2 Contract support -- Working Paper Andrzej Krzemieński 2022-03-15 2022-03 P2521R1 SG21 Contracts
P2539R0 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-03-11 2022-03   LEWG Library Evolution
P2540R1 Empty Product for certain Views Steve Downey 2022-03-14 2022-03 P2540R0 SG9 Ranges,LEWG Library Evolution
P2553R1 Make mdspan size_type controllable Christian Trott 2022-03-15 2022-03 P2553R0 LEWG Library Evolution,LWG Library
P2555R1 Naming improvements for std::execution Jens Maurer 2022-03-13 2022-03 P2555R0 LEWG Library Evolution
P2558R0 Add @, $, and ` to the basic character set Steve Downey 2022-03-16 2022-03   SG16 Unicode,EWGI SG17: EWG Incubator,SG22 Compatability
P2560R0 Comparing value- and type-based reflection Matúš Chochlı́k 2022-02-23 2022-03   SG7 Reflection
P2562R0 constexpr Stable Sorting Oliver Rosten 2022-03-09 2022-03   LEWG Library Evolution,LWG Library
P2564R0 consteval needs to propagate up Barry Revzin 2022-03-14 2022-03   EWG Evolution
P2565R0 Supporting User-Defined Attributes Bret Brown 2022-03-15 2022-03   SG15 Tooling
P2568R0 Proposal of std::map::at_ptr Andrew Tomazos 2022-03-18 2022-03   LEWG Library Evolution
P2569R0 *_HAS_SUBNORM==0 implies what? Fred Tydeman 2022-03-18 2022-03   SG6 Numerics,SG22 Compatability
]]>
<![CDATA[News, Standardization,]]> Mon, 21 Mar 2022 18:52:57 +0000 Administrator
Open letter for new C++ scope/charter. -- René Ferdinand Rivera Morell https://isocpp.org//blog/2022/02/open-letter-for-new-cpp-scope-charter https://isocpp.org//blog/2022/02/open-letter-for-new-cpp-scope-charter <![CDATA[

Should the C++ standard change to include its ecosystem?

Open letter for new C++ scope/charter

by René Ferdinand Rivera Morell

From the letter:

We are writing asking for consideration towards changes to the wording of the "ISO/IEC JTC1/SC22/WG21 STATEMENT OF SCOPE". Which is currently stated as:

Development and maintenance of ISO/IEC Standards, Technical Specifications, and Technical Reports related to the programming language C++.

Reddit discussion here.

]]>
<![CDATA[News, Standardization,]]> Thu, 24 Feb 2022 17:58:02 +0000 René Ferdinand Rivera Morell
2022-02 Mailing Available https://isocpp.org//blog/2022/02/2022-02-mailing-available https://isocpp.org//blog/2022/02/2022-02-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4903 PL22.16/WG21 agenda: 7 February 2022, Virtual Meeting John Spicer 2022-01-24 2022-02   All of WG21
N4904 WG21 admin telecon meetings: 2022 summer and autumn (revision 1) Herb Sutter 2022-01-24 2022-02   All of WG21
N4905 WG21 2022-01 Admin telecon minutes Nina Ranns 2022-02-01 2022-02   All of WG21
N4906 Transactional Memory TS2 Michael Wong 2022-02-18 2022-02   All of WG21
N4907 WG21 2022-02 Virtual Meeting Minutes of Meeting Nina Ranns 2022-02-17 2022-02   All of WG21
P0009R15 MDSPAN Christian Trott 2022-02-14 2022-02 P0009R14 LWG Library
P0323R12 std::expected JF Bastien 2022-02-21 2022-02 P0323R11 LWG Library
P0447R19 Introduction of std::hive to the standard library Matt Bentley 2022-02-17 2022-02 P0447R18 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0561R6 An RAII Interface for Deferred Reclamation Geoffrey Romer 2022-02-02 2022-02 P0561R5 LWG Library
P0792R7 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-02-14 2022-02 P0792R6 LEWG Library Evolution,LWG Library
P0792R8 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-02-16 2022-02 P0792R7 LEWG Library Evolution,LWG Library
P0957R5 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-02-14 2022-02 P0957R4 LEWGI SG18: LEWG Incubator
P1018R15 C++ Language Evolution status  pandemic edition  2022/01–2022/02 JF Bastien 2022-02-14 2022-02 P1018R14 EWG Evolution,All of WG21
P1202R4 Asymmetric Fences David Goldblatt 2022-02-14 2022-02 P1202R3 LEWG Library Evolution,LWG Library
P1223R3 find_last Zach Laine 2022-02-14 2022-02 P1223R2 LEWG Library Evolution,LWG Library
P1478R7 Byte-wise atomic memcpy Hans Boehm 2022-02-05 2022-02 P1478R6 LWG Library
P1664R7 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2022-02-15 2022-02 P1664R6 SG9 Ranges,LEWG Library Evolution
P1774R6 Portable assumptions Timur Doumler 2022-02-15 2022-02 P1774R5 CWG Core
P1839R3 Accessing Object Representations Krystian Stasiowski 2022-02-18 2022-02 P1839R2 CWG Core
P1841R3 Wording for Individually Specializable Numeric Traits Walter E Brown 2022-02-14 2022-02 P1841R2 LWG Library
P1885R10 Naming Text Encodings to Demystify Them Corentin Jabot 2022-02-14 2022-02 P1885R9 LEWG Library Evolution
P2093R13 Formatted output Victor Zverovich 2022-02-09 2022-02 P2093R12 LWG Library
P2214R2 A Plan for C++23 Ranges Barry Revzin 2022-02-18 2022-02 P2214R1 LEWG Library Evolution
P2416R2 Presentation of requirements in the standard library Jens Maurer 2022-02-14 2022-02 P2416R1 LWG Library
P2438R2 std::string::substr() && Federico Kircheis 2022-02-04 2022-02 P2438R1 LWG Library
P2441R2 views::join_with Barry Revzin 2022-01-28 2022-02 P2441R1 LEWG Library Evolution
P2446R2 views::as_rvalue Barry Revzin 2022-02-14 2022-02 P2446R1 LEWG Library Evolution
P2448R2 Relaxing some constexpr restrictions Barry Revzin 2022-01-27 2022-02 P2448R1 CWG Core
P2452R0 2021 October Library Evolution and Concurrency Polls on Networking and Executors Bryce Adelstein Lelbach 2022-02-15 2022-02   LEWG Library Evolution
P2453R0 2021 October Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-02-15 2022-02   SG4 Networking,LEWG Library Evolution
P2458R1 2022 January Library Evolution Polls Bryce Adelstein Lelbach 2022-01-26 2022-02 P2458R0 LEWG Library Evolution
P2459R0 2022 January Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-02-15 2022-02   LEWG Library Evolution
P2465R2 Standard Library Modules std and std.compat Stephan T. Lavavej 2022-02-02 2022-02 P2465R1 CWG Core,LWG Library
P2467R1 Support exclusive mode for fstreams Jonathan Wakely 2022-02-17 2022-02 P2467R0 LWG Library
P2472R1 make function_ref more functional Jarrad J. Waterloo 2022-02-15 2022-02 P2472R0 LEWG Library Evolution
P2495R0 Interfacing stringstreams with string_view Michael Hava 2022-02-13 2022-02   LEWG Library Evolution
P2502R1 std::generator: Synchronous Coroutine Generator for Ranges Casey Carter 2022-01-25 2022-02 P2502R0 LEWG Library Evolution
P2505R1 Monadic Functions for std::expected Jeff Garland 2022-02-15 2022-02 P2505R0 LEWG Library Evolution,LWG Library
P2506R0 std::lazy: a coroutine for deferred execution Casey Carter 2022-02-02 2022-02   LEWG Library Evolution
P2513R1 char8_t Compatibility and Portability Fix JeanHeyd Meneide 2022-02-14 2022-02 P2513R0 EWG Evolution
P2521R1 Contract support -- Working Paper Andrzej Krzemieński 2022-02-15 2022-02 P2521R0 SG21 Contracts
P2528R0 C/C++ Identifier Security using Unicode Standard Annex 39 Reini Urban 2022-01-22 2022-02   SG16 Unicode,EWG Evolution,CWG Core
P2529R0 generator should have T&& reference_type Mathias Stearn 2022-01-25 2022-02   LEWG Library Evolution
P2530R0 Why Hazard Pointers should be in C++26 Maged Michael 2022-02-14 2022-02   SG1 Concurrency and Parallelism
P2531R0 C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2022 Jonathan Wakely 2022-01-31 2022-02   All of WG21
P2532R0 Removing exception_ptr from the Receiver Concepts Eric Niebler 2022-02-01 2022-02   LEWG Library Evolution
P2533R0 Core Language Working Group "ready" Issues for the February, 2022 Meeting William M. (Mike) Miller 2022-02-21 2022-02   All of WG21
P2534R0 Slides: function_ref in the wild (P0792R7 presentation) Zhihao Yuan 2022-02-16 2022-02   LEWG Library Evolution
P2535R0 Message fences Olivier Giroux 2022-02-02 2022-02   SG1 Concurrency and Parallelism
P2536R0 Distributing C++ Module Libraries with dependencies json files. Olga Arkhipova 2022-02-03 2022-02   SG15 Tooling
P2537R0 Relax va_start Requirements to Match C JeanHeyd Meneide 2022-02-14 2022-02   LEWG Library Evolution
P2538R0 ADL-proof std::projected Arthur O'Dwyer 2022-02-15 2022-02   LEWG Library Evolution,LWG Library
P2540R0 Empty Product for certain Views Steve Downey 2022-02-15 2022-02   SG9 Ranges
P2541R0 Consider renaming remove_quals Corentin Jabot 2022-02-15 2022-02   SG22 Compatability
P2542R0 views::concat Hui Xie 2022-02-18 2022-02   SG9 Ranges,LEWG Library Evolution
P2544R0 C++ exceptions are becoming more and more problematic Thomas Neumann 2022-02-12 2022-02   EWGI SG17: EWG Incubator
P2545R0 Why RCU Should be in C++26 Paul E. McKenney 2022-02-14 2022-02   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2546R0 Debugging Support René Ferdinand Rivera Morell 2022-02-14 2022-02   SG15 Tooling,LEWG Library Evolution
P2547R0 Language support for customisable functions Lewis Baker 2022-02-15 2022-02   EWG Evolution
P2549R0 std::unexpected should have error() as member accessor Yihe Li 2022-02-13 2022-02   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2550R0 ranges::copy should say output_iterator somewhere Barry Revzin 2022-02-16 2022-02   LWG Library
P2551R0 Clarify intent of P1841 numeric traits Matthias Kretz 2022-02-14 2022-02   LEWG Library Evolution
P2552R0 On the ignorability of standard attributes Timur Doumler 2022-02-16 2022-02   EWG Evolution
P2553R0 Make mdspan size_type controllable Christian Trott 2022-02-14 2022-02   LEWG Library Evolution
P2554R0 C-Array Interoperability of MDSpan Christian Trott 2022-02-14 2022-02   LEWG Library Evolution
P2555R0 Naming improvements for std::execution Jens Maurer 2022-02-15 2022-02   LEWG Library Evolution
P2557R0 WG21 2022-02 Virtual Meeting Record of Discussion Nina Ranns 2022-02-17 2022-02   All of WG21
]]>
<![CDATA[News, Standardization,]]> Tue, 22 Feb 2022 15:24:24 +0000 Administrator
2022-01 Mailing Available https://isocpp.org//blog/2022/01/2022-01-mailing-available https://isocpp.org//blog/2022/01/2022-01-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0447R18 Introduction of std::hive to the standard library Matt Bentley 2021-12-21 2022-01 P0447R17 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0792R6 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-01-16 2022-01 P0792R5 LEWG Library Evolution,LWG Library
P1018R14 C++ Language Evolution status  pandemic edition  2021/09–2022/01 JF Bastien 2022-01-13 2022-01 P1018R13 EWG Evolution,All of WG21
P1083R4 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2022-01-01 2022-01 P1083R3 LEWG Library Evolution
P1206R7 Conversions from ranges to containers Corentin Jabot 2022-01-21 2022-01 P1206R6 LWG Library
P1240R2 Scalable Reflection Daveed Vandevoorde 2022-01-14 2022-01 P1240R1 SG7 Reflection
P1664R6 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2021-12-25 2022-01 P1664R5 SG9 Ranges,LEWG Library Evolution
P1841R2 Wording for Individually Specializable Numeric Traits Walter E Brown 2022-01-14 2022-01 P1841R1 LWG Library
P1854R3 Conversion to literal encoding should not lead to loss of meaning Corentin Jabot 2022-01-15 2022-01 P1854R2 EWG Evolution
P1885R9 Naming Text Encodings to Demystify Them Corentin Jabot 2022-01-15 2022-01 P1885R8 LEWG Library Evolution
P1899R2 stride_view Christopher Di Bella, Tim Song 2021-12-23 2022-01 P1899R1 SG9 Ranges,LEWG Library Evolution
P2000R3 Direction for ISO C++ Daveed Vandevoorde 2022-01-06 2022-01 P2000R2 All of WG21,Direction Group
P2079R2 System execution context Lee Howes 2022-01-14 2022-01 P2079R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2093R12 Formatted output Victor Zverovich 2021-12-20 2022-01 P2093R11 LWG Library
P2165R3 Compatibility between tuple, pair and tuple-like objects Corentin Jabot 2022-01-18 2022-01 P2165R2 LEWG Library Evolution
P2248R4 Enabling list-initialization for algorithms Giuseppe D'Angelo 2022-01-03 2022-01 P2248R3 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2249R4 Mixed comparisons for smart pointers Giuseppe D'Angelo 2022-01-11 2022-01 P2249R3 LEWG Library Evolution
P2286R5 Formatting Ranges Barry Revzin 2022-01-15 2022-01 P2286R4 LEWG Library Evolution
P2286R6 Formatting Ranges Barry Revzin 2022-01-19 2022-01 P2286R5 LEWG Library Evolution
P2300R4 `std::execution` Michał Dominiak 2022-01-19 2022-01 P2300R3 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R3 std::ranges::contains Christopher Di Bella 2022-01-19 2022-01 P2302R2 LEWG Library Evolution
P2303R4 Basic lambdas for C Jens Gustedt 2021-12-24 2022-01 P2303R3 SG22 Compatability
P2304R3 Improve type generic programming Jens Gustedt 2021-12-24 2022-01 P2304R2 SG22 Compatability
P2305R4 Type inference for variable definitions and function returns Jens Gustedt 2021-12-24 2022-01 P2305R3 SG22 Compatability
P2306R3 Type-generic lambdas Jens Gustedt 2021-12-24 2022-01 P2306R2 SG22 Compatability
P2310R1 Revise spelling of keywords Jens Gustedt 2021-12-31 2022-01 P2310R0 SG22 Compatability
P2311R2 Make false and true first-class language features Jens Gustedt 2021-12-30 2022-01 P2311R1 SG22 Compatability
P2324R2 Labels at the end of compound statements (C compatibility) Martin Uecker 2022-01-14 2022-01 P2324R1 SG22 Compatability,CWG Core
P2363R3 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2022-01-19 2022-01 P2363R2 LEWG Library Evolution
P2370R2 Stacktrace from exception Andrei Nekrashevich 2022-01-11 2022-01 P2370R1 LEWG Library Evolution,LWG Library
P2375R1 Generalisation of nth_element to a range of nths Johan Lundberg 2022-01-14 2022-01 P2375R0 SG9 Ranges,EWG Evolution
P2404R1 Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with Justin Bassett 2021-12-24 2022-01 P2404R0 SG9 Ranges,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2404R2 Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with Justin Bassett 2022-01-19 2022-01 P2404R1 SG9 Ranges,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2424R0 Abbreviated Parameters Mihail Naydenov 2022-01-14 2022-01   EWGI SG17: EWG Incubator
P2437R1 Support for #warning Aaron Ballman 2022-01-13 2022-01 P2437R0 CWG Core
P2447R2 std::span and the missing constructor Federico Kircheis 2022-01-21 2022-01 P2447R1 LEWG Library Evolution
P2448R1 Relaxing some constexpr restrictions Barry Revzin 2022-01-15 2022-01 P2448R0 CWG Core
P2457R0 2021 December Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-01-14 2022-01   LEWG Library Evolution
P2458R0 2022 January Library Evolution Polls Bryce Adelstein Lelbach 2022-01-20 2022-01   LEWG Library Evolution
P2468R2 The Equality Operator You Are Looking For Barry Revzin, Bjarne Stroustrup, Cameron DaCamara, Daveed Vandevoorde, Gabriel Dos Reis, Herb Sutter, Jason Merrill, Jonathan Caves, Richard Smith, Ville Voutilainen 2022-01-14 2022-01 P2468R1 EWG Evolution,CWG Core
P2474R1 views::repeat Michał Dominiak 2022-01-18 2022-01 P2474R0 SG9 Ranges,LEWG Library Evolution
P2494R1 Relaxing range adaptors to allow for move only types Michał Dominiak 2022-01-17 2022-01 P2494R0 SG9 Ranges,LEWG Library Evolution
P2498R1 Forward compatibility of text_encoding with additional encoding registries Peter Brett 2022-01-14 2022-01 P2498R0 SG16 Unicode,LEWG Library Evolution
P2507R1 Limit [[assume]] to conditional-expressions Peter Brett 2022-01-04 2022-01 P2507R0 EWG Evolution
P2508R1 Exposing std::basic-format-string Barry Revzin 2022-01-18 2022-01 P2508R0 LEWG Library Evolution
P2511R0 Beyond operator(): NTTP callables in type-erased call wrappers Zhihao Yuan 2022-01-14 2022-01   LEWG Library Evolution
P2512R0 SG16: Unicode meeting summaries 2021-06-09 through 2021-12-15 Tom Honermann 2021-12-23 2022-01   SG16 Unicode
P2513R0 char8_t Compatibility and Portability Fixes JeanHeyd Meneide 2022-01-09 2022-01   SG16 Unicode,EWG Evolution
P2514R0 std::breakpoint René Ferdinand Rivera Morell 2022-01-02 2022-01   SG15 Tooling,LEWG Library Evolution
P2515R0 std::is_debugger_present René Ferdinand Rivera Morell 2022-01-02 2022-01   SG15 Tooling,LEWG Library Evolution
P2516R0 string_view is implicitly convertible from what? Victor Zverovich 2022-01-07 2022-01   LEWG Library Evolution
P2517R0 Add a conditional noexcept specification to std::apply Hewill Kang 2022-01-14 2022-01   LEWG Library Evolution
P2520R0 move_iterator should be a random access iterator Barry Revzin 2022-01-15 2022-01   LEWG Library Evolution
P2521R0 Contract support -- Working Paper Andrzej Krzemieński 2022-01-17 2022-01   SG21 Contracts
P2523R0 Request for re-inclusion of std::hive proposal in C++23 Matt Bentley 2022-01-14 2022-01   SG14 Low Latency,LEWG Library Evolution
P2524R0 SG14: Low Latency/Games/Embedded/Finance/Simulation 2020/12/09-2022/01/12 Michael Wong 2022-01-15 2022-01   SG14 Low Latency
P2525R0 SG19: Machine Learning Meeting Minutes 2020/12/10-2022/01/13 Michael Wong 2022-01-15 2022-01   SG19 Machine Learning
P2527R0 std::variant_alternative_index and std::variant_alternative_index_v Alex Christensen 2022-01-18 2022-01   LEWGI SG18: LEWG Incubator
]]>
<![CDATA[News, Standardization,]]> Sat, 22 Jan 2022 21:50:58 +0000 Administrator
C++ at the end of 2021 -- Bartlomiej Filipek https://isocpp.org//blog/2022/01/cpp-at-the-end-of-2021 https://isocpp.org//blog/2022/01/cpp-at-the-end-of-2021 <![CDATA[

10th edition of “C++ at the end”!

C++ at the end of 2021 @C++ Stories

by Bartlomiej Filipek

About the blog

See what happened this year in the C++ World!

New features, plans for the language, updated tools and compilers, conferences, books, and more!

What was the most important event this year? The pandemic? C++20 adoption? Ongoing work for C++23 or something else?

]]>
<![CDATA[News, Standardization,]]> Thu, 13 Jan 2022 18:57:24 +0000 bfilipek
2021 C++ Standardization Highlights--Botond Ballo https://isocpp.org//blog/2022/01/2021-cpp-standardization-highlights-botond-ballo https://isocpp.org//blog/2022/01/2021-cpp-standardization-highlights-botond-ballo <![CDATA[

Did you follow?

2021 C++ Standardization Highlights

by Botond Ballo

From the article:

The ISO C++ Standards Committee (also known as WG21) has not met in person since its February 2020 meeting in Prague, which I wrote about here.

However, the committee and its subgroups have continued their work through remote collaboration, and a number of notable proposals have been adopted into C++23, the next language version, in this way, with many others in the pipeline.

In this post, I will outline some of the highlights of the committee’s work in 2021. (The post will also cover some material from the latter part of 2020, a period when remote collaboration was already underway but which I have not covered in any previous post.) I’ve been less involved in the committee than before, so this post will not be as comprehensive as my previous trip reports, but I hope to share the proposals I’ve found most notable...

]]>
<![CDATA[News, Standardization,]]> Wed, 12 Jan 2022 21:43:43 +0000 Adrien Hamelin
2021-12 Mailing Available https://isocpp.org//blog/2021/12/2021-12-mailing-available https://isocpp.org//blog/2021/12/2021-12-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0493R3 Atomic maximum/minimum Al Grant 2021-12-17 2021-12 P0493R2 SG1 Concurrency and Parallelism
P1467R8 Extended floating-point types and standard names David Olsen 2021-12-16 2021-12 P1467R7 EWG Evolution,LEWG Library Evolution
P1673R6 A free function linear algebra interface based on the BLAS Mark Hoemmen 2021-12-14 2021-12 P1673R5 LEWG Library Evolution
P1774R5 Portable assumptions Timur Doumler 2021-12-16 2021-12 P1774R4 EWG Evolution,CWG Core
P2093R11 Formatted output Victor Zverovich 2021-12-06 2021-12 P2093R10 LWG Library
P2152R1 Querying the alignment of an object Inbal Levi 2021-11-30 2021-12 P2152R0 SG22 Compatability,EWG Evolution
P2173R1 Attributes on Lambda-Expressions Daveed Vandevoorde 2021-12-09 2021-12 P2173R0 All of WG21
P2198R4 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2021-12-13 2021-12 P2198R3 SG10 Feature Test,LEWG Library Evolution
P2248R3 Enabling list-initialization for algorithms Giuseppe D'Angelo 2021-12-17 2021-12 P2248R2 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2283R2 constexpr for specialized memory algorithms Michael Schellenberger Costa 2021-11-25 2021-12 P2283R1 LEWG Library Evolution
P2286R4 Formatting Ranges Barry Revzin 2021-12-17 2021-12 P2286R3 LEWG Library Evolution
P2300R3 `std::execution` Michał Dominiak 2021-12-05 2021-12 P2300R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R2 std::ranges::contains Christopher Di Bella 2021-12-12 2021-12 P2302R1 SG9 Ranges
P2329R0 Move, Copy, and Locality at Scale Pablo Halpern 2021-12-13 2021-12   All of WG21
P2363R2 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2021-12-07 2021-12 P2363R1 LEWG Library Evolution
P2374R2 views::cartesian_product Sy Brand 2021-12-13 2021-12 P2374R1 SG9 Ranges,LEWG Library Evolution
P2374R3 views::cartesian_product Sy Brand 2021-12-13 2021-12 P2374R2 LEWG Library Evolution
P2387R3 Pipe support for user-defined range adaptors Barry Revzin 2021-12-17 2021-12 P2387R2 LEWG Library Evolution
P2416R1 Presentation of requirements in the standard library Jens Maurer 2021-12-15 2021-12 P2416R0 LWG Library
P2438R1 std::string::substr() && Federico Kircheis 2021-11-30 2021-12 P2438R0 LEWG Library Evolution
P2440R1 ranges::iota, ranges::shift_left, and ranges::shift_right Tim Song 2021-12-05 2021-12 P2440R0 LWG Library
P2442R1 Windowing range adaptors: views::chunk and views::slide Tim Song 2021-12-05 2021-12 P2442R0 LWG Library
P2447R1 std::span and the missing constructor Federico Kircheis 2021-12-17 2021-12 P2447R0 LEWG Library Evolution
P2455R0 2021 November Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2021-12-08 2021-12   LEWG Library Evolution
P2456R0 2021 December Library Evolution Polls Bryce Adelstein Lelbach 2021-12-08 2021-12   LEWG Library Evolution
P2468R1 The Equality Operator You Are Looking For Barry Revzin, Bjarne Stroustrup, Cameron DaCamara, Daveed Vandevoorde, Gabriel Dos Reis, Herb Sutter, Jason Merrill, Jonathan Caves, Richard Smith, Ville Voutilainen 2021-12-16 2021-12 P2468R0 CWG Core
P2473R1 Distributing C++ Module Libraries Daniel Ruoso 2021-12-02 2021-12 P2473R0 SG15 Tooling
P2474R0 views::repeat Michał Dominiak 2021-12-13 2021-12   SG9 Ranges,LEWG Library Evolution
P2486R1 Structured naming for function object and CPO values Kirk Shoop 2021-12-16 2021-12 P2486R0 LEWG Library Evolution
P2494R0 Relaxing range adaptors to allow for move only types Michał Dominiak 2021-12-13 2021-12   SG9 Ranges,LEWG Library Evolution
P2498R0 Forward compatibility of text_encoding with additional encoding registries Peter Brett 2021-12-13 2021-12   SG16 Unicode,LEWG Library Evolution
P2499R0 string_view range constructor should be explicit James Touton 2021-12-07 2021-12   LEWG Library Evolution
P2501R0 Undo the rename of views::move and views::as_const Ville Voutilainen 2021-12-14 2021-12   LEWG Library Evolution
P2502R0 std::generator: Synchronous Coroutine Generator for Ranges Casey Carter 2021-12-13 2021-12   LEWG Library Evolution
P2504R0 Computations as a global solution to concurrency Lucian Radu Teodorescu 2021-12-11 2021-12   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2505R0 Monadic Functions for std::expected Jeff Garland 2021-12-15 2021-12   LEWG Library Evolution,LWG Library
P2507R0 Only [[assume]] conditional-expressions Peter Brett 2021-12-13 2021-12   EWG Evolution
P2508R0 Exposing std::basic-format-string Barry Revzin 2021-12-17 2021-12   LEWG Library Evolution
P2509R0 A proposal for a type trait to detect value-preserving conversions Giuseppe D'Angelo 2021-12-17 2021-12   SG6 Numerics,LEWG Library Evolution
P2510R0 Formatting pointers Mark de Wever 2021-12-17 2021-12   LWG Library
]]>
<![CDATA[News, Standardization,]]> Sun, 19 Dec 2021 20:37:51 +0000 Administrator
C++ Reflection TS: A First Look -- Clément Pirelli https://isocpp.org//blog/2021/12/cpp-reflection-ts-a-first-look https://isocpp.org//blog/2021/12/cpp-reflection-ts-a-first-look <![CDATA[

The Reflection TS was blessed with an example implementation recently, available on Compiler Explorer. Clément Pirelli gave it a spin and wrote a small post about what he found.

C++ Reflection TS: A First Look

by Clément Pirelli

From the article:

In this post, I’ll explain the basic ideas of the specification, how to write a simple generic “enum to string” function and go into a bit more detail with a proof-of-concept serialization function.

]]>
<![CDATA[News, Articles & Books, Standardization,]]> Wed, 08 Dec 2021 17:50:05 +0000 Guy
2021-11 Mailing Available https://isocpp.org//blog/2021/11/2021-11-mailing-available https://isocpp.org//blog/2021/11/2021-11-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0009R14 MDSPAN Christian Trott 2021-11-14 2021-11 P0009R13 LEWG Library Evolution,LWG Library
P0323R11 std::expected JF Bastien 2021-11-16 2021-11 P0323R10 LWG Library
P0447R17 Introduction of std::hive to the standard library Matt Bentley 2021-11-03 2021-11 P0447R16 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0533R9 constexpr for cmath and cstdlib Oliver Rosten 2021-11-12 2021-11 P0533R8 CWG Core,LWG Library
P1413R3 Deprecate std::aligned_storage and std::aligned_union CJ Johnson 2021-11-22 2021-11 P1413R2 LEWG Library Evolution,LWG Library
P1467R6 Extended floating-point types and standard names David Olsen 2021-11-10 2021-11 P1467R5 EWG Evolution,LEWG Library Evolution
P1467R7 Extended floating-point types and standard names David Olsen 2021-11-24 2021-11 P1467R6 EWG Evolution,LEWG Library Evolution
P1494R2 Partial program correctness S. Davis Herring 2021-11-12 2021-11 P1494R1 SG22 Compatability,EWG Evolution,LEWG Library Evolution,CWG Core
P1774R4 Portable assumptions Timur Doumler 2021-11-17 2021-11 P1774R3 EWG Evolution
P1854R2 Conversion to literal encoding should not lead to loss of meaning Corentin Jabot 2021-11-23 2021-11 P1854R1 SG16 Unicode
P1899R1 stride_view Christopher Di Bella 2021-11-08 2021-11 P1899R0 SG9 Ranges,LEWG Library Evolution
P2071R1 Named universal character escapes Tom Honermann 2021-11-09 2021-11 P2071R0 SG16 Unicode,EWG Evolution
P2093R10 Formatted output Victor Zverovich 2021-11-13 2021-11 P2093R9 LEWG Library Evolution
P2198R3 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2021-11-12 2021-11 P2198R2 SG10 Feature Test,LEWG Library Evolution
P2249R3 Mixed comparisons for smart pointers Giuseppe D'Angelo 2021-11-16 2021-11 P2249R2 LEWG Library Evolution
P2273R3 Making std::unique_ptr constexpr Andreas Fertig 2021-11-09 2021-11 P2273R2 LWG Library
P2278R2 cbegin should always return a constant iterator Barry Revzin 2021-11-16 2021-11 P2278R1 LEWG Library Evolution
P2286R3 Formatting Ranges Barry Revzin 2021-11-16 2021-11 P2286R2 LEWG Library Evolution
P2302R1 std::ranges::contains Christopher Di Bella 2021-11-08 2021-11 P2302R0 SG9 Ranges
P2338R2 Freestanding Library: Character primitives and the C library Ben Craig 2021-11-11 2021-11 P2338R1 SG14 Low Latency,SG22 Compatability,LEWG Library Evolution
P2361R4 Unevaluated strings Corentin Jabot 2021-11-23 2021-11 P2361R3 EWG Evolution
P2388R4 Minimum Contract Support: either No_eval or Eval_and_abort Andrzej Krzemieński 2021-11-15 2021-11 P2388R3 SG21 Contracts,SG22 Compatability
P2407R1 Freestanding Library: Partial Classes Emil Meissner 2021-11-23 2021-11 P2407R0 LEWG Library Evolution
P2408R3 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2021-11-08 2021-11 P2408R2 SG9 Ranges,LEWG Library Evolution
P2408R4 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2021-11-16 2021-11 P2408R3 LEWG Library Evolution
P2441R1 views::join_with Barry Revzin 2021-11-16 2021-11 P2441R0 LEWG Library Evolution
P2443R1 views::chunk_by Tim Song 2021-11-19 2021-11 P2443R0 LWG Library
P2446R1 views::all_move Barry Revzin 2021-11-16 2021-11 P2446R0 LEWG Library Evolution
P2454R0 2021 November Library Evolution Polls Bryce Adelstein Lelbach 2021-11-03 2021-11   LEWG Library Evolution
P2461R1 Closure-based Syntax for Contracts Gašper Ažman 2021-11-15 2021-11 P2461R0 SG21 Contracts
P2467R0 Support exclusive mode for fstreams Jonathan Wakely 2021-11-15 2021-11   LEWG Library Evolution
P2477R1 Allow programmer to control and detect coroutine elision by static constexpr bool must_elide() and Chuanqi Xu 2021-10-25 2021-11 P2477R0 EWG Evolution,LEWG Library Evolution
P2477R2 Allow programmer to control and detect coroutine elision Chuanqi Xu 2021-11-14 2021-11 P2477R1 EWG Evolution,LEWG Library Evolution
P2483R0 Support Non-copyable Types for single_view Hui Xie 2021-10-26 2021-11   LEWG Library Evolution
P2484R0 Extending class types as non-type template parameters Richard Smith 2021-11-16 2021-11   EWG Evolution
P2485R0 Do not add value_exists and value_or to C++23 Jonathan Wakely 2021-11-01 2021-11   LEWG Library Evolution
P2486R0 Structured naming for function object and CPO values Kirk Shoop 2021-11-01 2021-11   LEWG Library Evolution
P2487R0 Attribute-like syntax for contract annotations Andrzej Krzemieński 2021-11-12 2021-11   SG21 Contracts,EWG Evolution
P2489R0 Library Evolution Plan for Completing C++23 Bryce Adelstein Lelbach 2021-11-09 2021-11   LEWG Library Evolution
P2490R0 Zero-overhead exception stacktraces Antony Peacock 2021-11-25 2021-11   LEWGI SG18: LEWG Incubator
P2491R0 Text encodings follow-up Jens Maurer 2021-11-15 2021-11   SG16 Unicode,LEWG Library Evolution
P2492R0 Attending C++ Standards Committee Meetings During a Pandemic René Ferdinand Rivera Morell 2021-11-09 2021-11   All of WG21
P2493R0 Missing feature test macros for C++20 core papers Barry Revzin 2021-11-15 2021-11   CWG Core
]]>
<![CDATA[News, Standardization,]]> Tue, 30 Nov 2021 20:12:30 +0000 Administrator
2021-09 Mailing Available https://isocpp.org//blog/2021/09/2021-09-mailing https://isocpp.org//blog/2021/09/2021-09-mailing <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0288R7 move_only_function (was any_invocable) Matt Calabrese, Ryan McDougall 2021-08-27 2021-09 P0288R6 LWG Library
P0447R16 Introduction of std::hive to the standard library Matt Bentley 2021-09-08 2021-09 P0447R15 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0627R5 Function to mark unreachable code Jens Maurer 2021-09-19 2021-09 P0627R3 LWG Library
P0849R8 auto(x): decay-copy in the language Zhihao Yuan 2021-08-26 2021-09 P0849R7 CWG Core,LWG Library
P1018R13 C++ Language Evolution status pandemic edition 2021/06–2021/08 JF Bastien 2021-09-06 2021-09 P1018R12 EWG Evolution,All of WG21
P1072R10 basic_string::resize_and_overwrite Chris Kennelly 2021-09-14 2021-09 P1072R9 LWG Library
P1885R7 Naming Text Encodings to Demystify Them Corentin Jabot 2021-09-14 2021-09 P1885R6 LEWG Library Evolution
P2012R1 Fix the range-based for loop, Rev1 Nicolai Josuttis 2021-09-16 2021-09 P2012R0 EWG Evolution,CWG Core
P2036R3 Changing scope for lambda trailing-return-type Barry Revzin 2021-09-14 2021-09 P2036R2 CWG Core
P2066R9 Suggested draft TS for C++ Extensions for Minimal Transactional Memory Jens Maurer 2021-09-15 2021-09 P2066R8 CWG Core,LWG Library
P2093R9 Formatted output Victor Zverovich 2021-09-09 2021-09 P2093R8 LEWG Library Evolution
P2128R6 Multidimensional subscript operator Corentin Jabot 2021-09-14 2021-09 P2128R5 CWG Core
P2214R1 A Plan for C++23 Ranges Barry Revzin 2021-09-14 2021-09 P2214R0 LEWG Library Evolution
P2266R2 Simpler implicit move Arthur O'Dwyer 2021-08-31 2021-09 P2266R1 EWG Evolution,CWG Core
P2276R1 Fix cbegin Nicolai Josuttis 2021-09-10 2021-09 P2276R0 LEWG Library Evolution,LWG Library
P2278R1 cbegin should always return a constant iterator Barry Revzin 2021-09-15 2021-09 P2278R0 LEWG Library Evolution
P2314R3 Character sets and encodings Jens Maurer 2021-09-15 2021-09 P2314R2 CWG Core,LWG Library
P2316R2 Consistent character literal encoding Corentin Jabot 2021-09-14 2021-09 P2316R1 SG22 Compatability,CWG Core
P2322R4 ranges::fold Barry Revzin 2021-09-12 2021-09 P2322R3 LEWG Library Evolution
P2348R1 Whitespaces Wording Revamp Corentin Jabot 2021-09-15 2021-09 P2348R0 SG16 Unicode
P2362R3 Remove non-encodable wide character literals and multicharacter wide character literals Peter Brett 2021-08-27 2021-09 P2362R2 SG22 Compatability,CWG Core
P2363R1 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2021-09-15 2021-09 P2363R0 LEWG Library Evolution
P2372R3 Fixing locale handling in chrono formatters Victor Zverovich 2021-09-12 2021-09 P2372R2 LWG Library
P2388R1 Abort-only contract support Andrzej Krzemieński 2021-09-14 2021-09 P2388R0 SG21 Contracts
P2388R2 Minimum Contract Support: either Ignore or Check_and_abort Andrzej Krzemieński 2021-09-19 2021-09 P2388R1 SG21 Contracts
P2390R1 Add annotations for unreachable control flow Jens Gustedt 2021-09-17 2021-09 P2390R0 SG22 Compatability
P2408R1 Ranges views as inputs to non-Ranges algorithms David Olsen 2021-08-31 2021-09 P2408R0 LEWG Library Evolution
P2418R1 Add support for std::generator-like types to std::format Victor Zverovich 2021-09-12 2021-09 P2418R0 LWG Library
P2419R1 Clarify handling of encodings in localized formatting of chrono types Victor Zverovich 2021-09-19 2021-09 P2419R0 LEWG Library Evolution
P2430R0 Slides: Partial success scenarios with P2300 Christopher Kohlhoff 2021-08-23 2021-09   LEWG Library Evolution
P2431R0 Presentation: Plans for P2300 Revision 2 Michael Garland 2021-08-25 2021-09   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2432R0 Fixing istream_view Nicolai Josuttis 2021-08-27 2021-09   SG9 Ranges,LEWG Library Evolution,LWG Library
P2435R0 2021 Summer Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2021-09-09 2021-09   LEWG Library Evolution
P2436R0 2021 September Library Evolution Polls Bryce Adelstein Lelbach 2021-09-14 2021-09   LEWG Library Evolution
P2437R0 Support for #warning Aaron Ballman 2021-09-09 2021-09   EWG Evolution
P2438R0 std::string::substr() && Federico Kircheis 2021-09-14 2021-09   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2439R0 Slides for P2415R1, what is a view? Tim Song 2021-09-10 2021-09   LEWG Library Evolution
P2440R0 ranges::iota, ranges::shift_left, and ranges::shift_right Tim Song 2021-09-12 2021-09   LEWG Library Evolution
P2441R0 views::join_with Barry Revzin 2021-09-14 2021-09   LEWG Library Evolution
P2442R0 Windowing range adaptors: views::chunk and views::slide Tim Song 2021-09-14 2021-09   LEWG Library Evolution
P2443R0 views::chunk_by Tim Song 2021-09-14 2021-09   LEWG Library Evolution
P2444R0 The Asio asynchronous model Christopher Kohlhoff 2021-09-15 2021-09   LEWG Library Evolution
P2446R0 views::move Barry Revzin 2021-09-17 2021-09   LEWG Library Evolution
]]>
<![CDATA[News, Standardization,]]> Tue, 28 Sep 2021 21:26:59 +0000 Administrator
2021-08 Mailing Available https://isocpp.org//blog/2021/09/2021-08-mailing-available https://isocpp.org//blog/2021/09/2021-08-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4895 Concurrency TS2 Michael Wong 2021-08-22 2021-08   All of WG21
P1018R12 C++ Language Evolution status  pandemic edition  2021/06–2021/08 JF Bastien 2021-08-02 2021-08 P1018R11 EWG Evolution,All of WG21
P1072R9 basic_string::resize_and_overwrite Chris Kennelly 2021-08-14 2021-08 P1072R8 LWG Library
P1169R2 static operator() Barry Revzin 2021-08-14 2021-08 P1169R1 EWG Evolution
P1206R5 Conversions from ranges to containers Corentin Jabot 2021-08-01 2021-08 P1206R4 LEWG Library Evolution
P1206R6 Conversions from ranges to containers Corentin Jabot 2021-08-03 2021-08 P1206R5 LEWG Library Evolution
P1664R5 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2021-08-16 2021-08 P1664R4 SG9 Ranges,LEWG Library Evolution
P1673R4 A free function linear algebra interface based on the BLAS Mark Hoemmen 2021-08-14 2021-08 P1673R3 LEWG Library Evolution
P1885R6 Naming Text Encodings to Demystify Them Corentin Jabot 2021-08-14 2021-08 P1885R5 LEWG Library Evolution
P2047R2 An allocator-aware optional type Nina Ranns 2021-08-13 2021-08 P2047R1 LEWG Library Evolution
P2093R8 Formatted output Victor Zverovich 2021-08-15 2021-08 P2093R7 SG16 Unicode,LEWG Library Evolution
P2280R3 Using unknown references in constant expressions Barry Revzin 2021-08-18 2021-08 P2280R2 EWG Evolution
P2286R2 Formatting Ranges Barry Revzin 2021-08-15 2021-08 P2286R1 LEWG Library Evolution
P2291R2 Add Constexpr Modifiers to Functions to_chars and from_chars for Integral Types in Header Daniil Goncharov 2021-08-17 2021-08 P2291R1 LEWG Library Evolution,LWG Library
P2361R2 Unevaluated strings Corentin Jabot 2021-08-13 2021-08 P2361R1 SG16 Unicode,SG22 Compatability,EWG Evolution
P2362R2 Remove non-encodable wide character literals and multicharacter wide character literals Peter Brett 2021-07-29 2021-08 P2362R1 EWG Evolution
P2370R1 Stacktrace from exception Andrei Nekrashevich 2021-08-15 2021-08 P2370R0 LEWG Library Evolution,LWG Library
P2372R2 Fixing locale handling in chrono formatters Victor Zverovich 2021-08-14 2021-08 P2372R1 LWG Library
P2387R1 Pipe support for user-defined range adaptors Barry Revzin 2021-08-14 2021-08 P2387R0 LEWG Library Evolution
P2388R1 Minimum Contract Support: either Ignore or Check_and_abort Andrzej Krzemieński 2021-08-15 2021-08   SG21 Contracts
P2393R1 Cleaning up integer-class types Tim Song 2021-08-06 2021-08 P2393R0 LWG Library
P2414R1 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2021-08-13 2021-08 P2414R0 EWG Evolution
P2415R1 What is a view? Barry Revzin 2021-08-15 2021-08 P2415R0 LEWG Library Evolution
P2418R0 Add support for std::generator-like types to std::format Victor Zverovich 2021-08-08 2021-08   LEWG Library Evolution
P2419R0 Clarify handling of encodings in localized formatting of chrono types Victor Zverovich 2021-08-12 2021-08   SG16 Unicode,LEWG Library Evolution
P2420R0 2021 Summer Library Evolution Polls Bryce Adelstein Lelbach 2021-08-03 2021-08   LEWG Library Evolution
P2423R0 C Floating Point Study Group Liaison Report Rajan Bhakta 2021-08-04 2021-08   SG6 Numerics,SG22 Compatability
P2425R0 Expression Function Body Mihail Naydenov 2021-08-22 2021-08   EWGI SG17: EWG Incubator
P2428R0 Slides: BSI issues with P2300 Gašper Ažman 2021-08-16 2021-08   LEWG Library Evolution
]]>
<![CDATA[News, Standardization,]]> Fri, 03 Sep 2021 21:11:41 +0000 Administrator
2021-07 Mailing Available https://isocpp.org//blog/2021/07/2021-07-mailing-available https://isocpp.org//blog/2021/07/2021-07-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4894 Business Plan and Convener's Report Herb Sutter 2021-07-13 2021-07   All of WG21
P0288R6 move_only_function (was any_invocable) Ryan McDougall, Matt Calabrese 2021-07-13 2021-07 P0288R5 LWG Library
P0847R7 Deducing this Barry Revzin 2021-07-13 2021-07 P0847R6 CWG Core
P1206R4 Conversions from ranges to containers Corentin Jabot 2021-07-14 2021-07 P1206R3 LEWG Library Evolution
P1726R5 Pointer lifetime-end zap (informational/historical) Paul E. McKenney 2021-07-14 2021-07 P1726R4 SG1 Concurrency and Parallelism,SG12 Undefined and Unspecified Behavior,EWG Evolution
P2036R2 Changing scope for lambda trailing-return-type Barry Revzin 2021-07-22 2021-07 P2036R1 CWG Core
P2066R8 Suggested draft TS for C++ Extensions for Minimal Transactional Memory Jens Maurer 2021-07-15 2021-07 P2066R7 LEWG Library Evolution,CWG Core
P2093R7 Formatted output Victor Zverovich 2021-07-04 2021-07 P2093R6 SG16 Unicode,LEWG Library Evolution
P2167R1 Improved Proposed Wording for LWG 2114 (contextually convertible to bool) Daniel Krügler 2021-07-15 2021-07 P2167R0 LWG Library
P2198R2 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2021-07-10 2021-07 P2198R1 SG10 Feature Test,LEWG Library Evolution
P2242R3 Non-literal variables (and labels and gotos) in constexpr functions Ville Voutilainen 2021-07-13 2021-07 P2242R2 CWG Core
P2249R1 Mixed comparisons for smart pointers Giuseppe D'Angelo 2021-07-14 2021-07 P2249R0 LEWG Library Evolution
P2273R2 Making std::unique_ptr constexpr Andreas Fertig 2021-07-05 2021-07 P2273R1 LEWG Library Evolution
P2290R2 Delimited escape sequences Corentin Jabot 2021-07-15 2021-07 P2290R1 SG22 Compatability,EWG Evolution
P2295R5 Support for UTF-8 as a portable source file encoding Corentin Jabot 2021-07-16 2021-07 P2295R4 SG22 Compatability,EWG Evolution
P2300R1 `std::execution` Michał Dominiak 2021-07-06 2021-07 P2300R0 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2316R1 Consistent character literal encoding Corentin Jabot 2021-07-11 2021-07 P2316R0 SG22 Compatability,EWG Evolution
P2338R1 Freestanding Library: Character primitives and the C library Ben Craig 2021-07-10 2021-07 P2338R0 SG14 Low Latency,SG22 Compatability,LEWG Library Evolution
P2347R1 Argument type deduction for non-trailing parameter packs Corentin Jabot 2021-07-15 2021-07 P2347R0 EWG Evolution
P2350R1 constexpr class Andreas Fertig 2021-07-15 2021-07 P2350R0 EWG Evolution
P2362R1 Remove non-encodable wide character literals and multicharacter wide character literals Peter Brett 2021-07-15 2021-07 P2362R0 EWG Evolution
P2392R1 Pattern matching using "is" and "as" Herb Sutter 2021-07-19 2021-07 P2392R0 EWG Evolution
P2401R0 Add a conditional noexcept specification to std::exchange Giuseppe D'Angelo 2021-07-14 2021-07   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2402R0 A free function linear algebra interface based on the BLAS (slides) Mark Hoemmen 2021-06-29 2021-07   LEWG Library Evolution
P2403R0 Presentation on P2300 - std::execution Michael Garland 2021-07-06 2021-07   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2404R0 Relaxing equality_comparable_with's and three_way_comparable_with's common reference requirements to Justin Bassett 2021-07-25 2021-07   LWG Library
P2405R0 nullopt_t and nullptr_t should both have operator and operator== Justin Bassett 2021-07-25 2021-07   LWG Library
P2406R0 Fix counted_iterator interaction with input iterators Yehezkel Bernat 2021-07-11 2021-07   SG9 Ranges
P2407R0 Freestanding Library: Partial Classes Emil Meissner 2021-07-12 2021-07   LEWG Library Evolution
P2408R0 Ranges views as inputs to non-Ranges algorithms David Olsen 2021-07-14 2021-07   LEWG Library Evolution
P2409R0 Requirements for Usage of C++ Modules at Bloomberg Daniel Ruoso 2021-07-12 2021-07   SG15 Tooling
P2410R0 Type-and-resource safety in modern C++ Bjarne Stroustrup 2021-07-22 2021-07   All of WG21
P2411R0 Thoughts on pattern matching Bjarne Stroustrup 2021-07-22 2021-07   All of WG21
P2412R0 Minimal module support for the standard library Bjarne Stroustrup 2021-07-22 2021-07   All of WG21
P2413R0 Remove unsafe conversions of unique_ptr Lénárd Szolnoki 2021-07-25 2021-07   LEWGI SG18: LEWG Incubator
P2414R0 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2021-07-14 2021-07   EWG Evolution
P2415R0 What is a view? Barry Revzin 2021-07-14 2021-07   LEWG Library Evolution
P2416R0 Presentation of requirements in the standard library Jens Maurer 2021-07-15 2021-07   LWG Library
P2417R0 A more constexpr bitset Daniil Goncharov 2021-07-25 2021-07   LEWG Library Evolution,LWG Library
]]>
<![CDATA[News, Standardization,]]> Wed, 28 Jul 2021 18:12:23 +0000 Administrator
2021-06 Mailing Available https://isocpp.org//blog/2021/06/2021-06-mailing-available https://isocpp.org//blog/2021/06/2021-06-mailing-available <![CDATA[

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4887 PL22.16/WG21 agenda: 7 June 2021, Virtual Meeting John Spicer 2021-05-21 2021-06   All of WG21
N4888 WG21 virtual meetings: 2021-06, and -10 Herb Sutter 2021-05-24 2021-06   All of WG21
N4889 WG21 admin telecon meeting: 2021-09 Herb Sutter 2021-05-24 2021-06   All of WG21
N4890 WG21 2021-05 Admin telecon minutes Nina Ranns 2021-06-25 2021-06   All of WG21
N4891 WG21 2021-06 Virtual Meeting Minutes of Meeting Nina Ranns 2021-06-24 2021-06   All of WG21
N4892 Working Draft, Standard for Programming Language C++ Thomas Köppe 2021-06-18 2021-06   All of WG21
N4893 Editors' Report - Programming Languages - C++ Thomas Köppe 2021-06-18 2021-06   All of WG21
P0205R1 Efficient Seeding of Random Number Engines Moritz Klammler 2021-06-24 2021-06 P0205R0 SG6 Numerics,LEWG Library Evolution,LWG Library
P0447R15 Introduction of std::hive to the standard library Matt Bentley 2021-06-16 2021-06 P0447R14 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0533R7 constexpr for cmath and cstdlib Oliver Rosten 2021-06-24 2021-06 P0533R6 LEWG Library Evolution
P0533R8 constexpr for cmath and cstdlib Oliver Rosten 2021-06-24 2021-06 P0533R7 CWG Core,LWG Library
P1018R11 C++ Language Evolution status pandemic edition 2021/05 JF Bastien 2021-06-01 2021-06 P1018R10 EWG Evolution,All of WG21
P1072R8 basic_string::resize_and_overwrite Chris Kennelly 2021-06-03 2021-06 P1072R7 LWG Library
P1072R8 basic_string::resize_and_overwrite Chris Kennelly 2021-06-03 2021-06 P1072R7 LWG Library
P1132R8 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide 2021-06-10 2021-06 P1132R7 LWG Library
P1202R3 Asymmetric Fences David Goldblatt 2021-06-14 2021-06 P1202R2 LWG Library
P1642R6 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2021-05-30 2021-06 P1642R5 LWG Library
P1664R4 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2021-06-15 2021-06 P1664R3 SG9 Ranges,LEWG Library Evolution
P1675R2 rethrow_exception must be allowed to copy Billy O'Neal 2021-05-25 2021-06 P1675R1 CWG Core,LWG Library
P1689R4 Format for describing dependencies of source files Ben Boeckel 2021-06-14 2021-06 P1689R3 SG15 Tooling,SG16 Unicode
P1708R5 Simple Statistical Functions Richard Dosselman 2021-06-14 2021-06 P1708R4 SG6 Numerics,SG19 Machine Learning,LEWG Library Evolution
P1967R4 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2021-06-19 2021-06 P1967R3 EWG Evolution
P2164R5 views::enumerate Corentin Jabot 2021-06-15 2021-06 P2164R4 SG9 Ranges
P2165R2 Compatibility between tuple, pair and tuple-like objects Corentin Jabot 2021-06-15 2021-06 P2165R1 LEWG Library Evolution
P2290R1 Delimited escape sequences Corentin Jabot 2021-06-07 2021-06 P2290R0 SG22 Compatability,EWG Evolution
P2295R4 Support for UTF-8 as a portable source file encoding Corentin Jabot 2021-06-14 2021-06 P2295R3 SG16 Unicode,SG22 Compatability,EWG Evolution
P2299R3 `mdspan`s of All Dynamic Extents Bryce Adelstein Lelbach 2021-06-07 2021-06 P2299R2 LEWG Library Evolution
P2300R0 `std::execution` Michał Dominiak 2021-06-16 2021-06   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2301R1 Add a pmr alias for std::stacktrace Steve Downey 2021-06-14 2021-06 P2301R0 LWG Library
P2321R2 zip Tim Song 2021-06-11 2021-06 P2321R1 LWG Library
P2322R3 ranges::fold Barry Revzin 2021-06-13 2021-06 P2322R2 LEWG Library Evolution
P2340R1 Clarifying the status of the "C headers" Thomas Köppe 2021-06-11 2021-06 P2340R0 SG22 Compatability,LEWG Library Evolution,LWG Library
P2347R0 Argument type deduction for non-trailing parameter packs Corentin Jabot 2021-06-14 2021-06   EWG Evolution
P2361R1 Unevaluated string literals Corentin Jabot 2021-06-11 2021-06 P2361R0 SG16 Unicode,EWG Evolution
P2368R1 2021 Spring Library Evolution Polls Bryce Adelstein Lelbach 2021-05-27 2021-06 P2368R0 LEWG Library Evolution
P2370R0 Stacktrace from exception Andrei Nekrashevich 2021-06-08 2021-06   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2380R1 reference_wrapper Associations Robert Leahy 2021-06-03 2021-06 P2380R0 LEWG Library Evolution
P2384R0 2021 Spring Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2021-06-07 2021-06   LEWG Library Evolution
P2385R0 C++ Standard Library Issues to be moved in Virtual Plenary, June 2021 Jonathan Wakely 2021-05-26 2021-06   All of WG21
P2386R0 Core Language Working Group "ready" issues for the June, 2021 meeting William M. (Mike) Miller 2021-06-25 2021-06   All of WG21
P2387R0 Pipe support for user-defined range adaptors Barry Revzin 2021-06-12 2021-06   LEWG Library Evolution
P2388R0 Abort-only contract support Andrzej Krzemieński 2021-06-15 2021-06   SG21 Contracts
P2390R0 Add annotations for unreachable control flow Jens Gustedt 2021-06-07 2021-06   SG22 Compatability
P2391R0 C23 Update Report Aaron Ballman 2021-06-07 2021-06   All of WG21
P2392R0 Pattern matching using "is" and "as" Herb Sutter 2021-06-14 2021-06   EWG Evolution
P2393R0 Cleaning up integer-class types Tim Song 2021-06-12 2021-06   LWG Library
P2395R0 WG21 2021-06 Virtual Meeting Record of Discussion Nina Ranns 2021-06-24 2021-06   All of WG21
P2396R0 Concurrency TS 2 fixes David Goldblatt 2021-06-14 2021-06   LEWG Library Evolution,LWG Library
P2397R0 SG16: Unicode meeting summaries 2021-04-14 through 2021-05-26 Tom Honermann 2021-06-15 2021-06   SG16 Unicode
P2400R1 Library Evolution Report: 2021-02-23 to 2021-05-25 Bryce Adelstein Lelbach 2021-06-07 2021-06 P2400R0 All of WG21
]]>
<![CDATA[News, Standardization,]]> Wed, 30 Jun 2021 21:04:47 +0000 Administrator
Trip report: Summer 2021 ISO C++ standards meeting (virtual) -- Herb Sutter https://isocpp.org//blog/2021/06/trip-report-summer-2021-iso-cpp-standards-meeting-virtual-herb-sutter https://isocpp.org//blog/2021/06/trip-report-summer-2021-iso-cpp-standards-meeting-virtual-herb-sutter <![CDATA[

Standards progress continues:

Trip report: Summer 2021 ISO C++ standards meeting (virtual)

by Herb Sutter

From the article:

On Monday, the ISO C++ committee held its third full-committee (plenary) meeting of the pandemic and adopted a few more features and improvements for draft C++23...

]]>
<![CDATA[News, Standardization,]]> Wed, 09 Jun 2021 21:17:12 +0000 Blog Staff