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

Optimizing compilers seek try to push as much of the computation as possible at compile time.
In my previous post I showed how to compile {fmt} as a C++20 module with clang. Although taking only two commands, ideally it’s not something you should be doing manually. So in this post, I’ll talk about module support in CMake, everyone’s favorite not a build system.
This post is an updated version of an article from five years ago, now that everything Sy talked about is in the standard and implemented in Visual Studio.
The Broker Pattern structures distributed software systems that interact with remote service invocations. It is responsible for coordinating the communication, its results, and exceptions.