› P2956R2
Add saturating library support to std::simd
D. Towner , R. Arutyunyan
Intent
Proposal
Abstract
The Working Draft of C++26 includes data parallel types. It mostly provides operators which work on or with `std::simd` types, but it also includes overloads of useful functions from other parts of C++ (e.g., sin, cos, abs). In [P0543R3] a proposal was made to provide saturating operation support for some basic arithmetic operations and casts. In particular, `saturating_add`, `saturating_sub`, `sa
› P3154R2
Deprecating signed character types in iostreams
E. Kosunen
› P3242R2
Copy and fill for mdspan
N. Morales , C. Trott , M. Hoemmen , D. Lebrun-Grandie
Intent
Proposal
Abstract
C++23 introduced `mdspan` ([[P0009R18]](https://wg21.link/p0009r18)), a non-owning multidimensional array abstraction that has a customizable layout. Layout customization was originally motivated in [[P0009R18]](https://wg21.link/p0009r18) with considerations for interoperability and performance, particularly on different architectures. Moreover, [[P2630R4]](https://wg21.link/p2630r4) introduced `
› P3605R1
isqrt: A function to calculate integer square root of the nonnegative integer
N. Sakharin
Intent
Proposal
Abstract
This paper proposes to add an `isqrt` function (template) to calculate the integer square root of a nonnegative integer. Mathematically defined as:
› P3625R1
either neither
M. Hava
› P3655R4
cstring_view
P. Bindels , H. Dusikova , J. Rifkin , M. Foco , A. Shevlyakov
Intent
Proposal
Abstract
We propose a standard string view type that guarantees null-termination.
› P3692R4
How to Avoid OOTA Without Really Trying
P. McKenney , A. Stern , M. Wong , M. Michael , G. Brito
Intent
Proposal
Abstract
* P3692R4 updates the C++ working draft to N5032 and applies feedback from CWG. It also adds a citation to the NVIDIA PTX prohibition against OOTA.
› P3725R3
Filter View Extensions for Safer Use, Rev 3
N. Josuttis
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
Using filter views is both risky and non-intuitive. Let us look at some typical use cases.
› P3726R2
Adjustments to Union Lifetime Rules
B. Revzin , T. Kamiński
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
[[P3074R7] (trivial `union`s (was `std::uninitialized<T>`))](https://wg21.link/p3074r7) was adopted in Hagenberg. One of the goals of that paper was to make an example like this work:
› P3787R2
Adjoints to "Enabling list-initialization for algorithms": uninitialized_fill
G. D'Angelo , R. Arutyunyan
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
In the Tokyo 2024 meeting [P2248R8] (Enabling list-initialization for algorithms) was adopted.
› P3795R2
Miscellaneous Reflection Cleanup
B. Revzin
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
At the Sofia meeting, [[P2996R13] (Reflection for C++26)](https://wg21.link/p2996r13), [[P3394R4] (Annotations for Reflection)](https://wg21.link/p3394r4), [[P3293R3] (Splicing a base class subobject)](https://wg21.link/p3293r3), [[P3491R3] (`define_static_{string,object,array}`)](https://wg21.link/p349143), [[P3096R12] (Function Parameter Reflection in Reflection for C++26)](https://wg21.link/p30
› P3804R2
Iterating on parallel_scheduler
L. Teodorescu , R. Arutyunyan
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
`parallel_scheduler` [[P2079R10](https://wg21.link/p2079r10)] was a long time in the making and was it adopted in Sofia 2025; still more design concerns were raised after that. This paper proposes to iterate on some of these aspects, aiming to achieve the best possible outcome from `parallel_scheduler`.
› P3826R5
Fix Sender Algorithm Customization
E. Niebler
Intent
Proposal
Disposition Date
2026-03Adopted
› P3828R1
Rename the to_input view to as_input
N. Josuttis
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
Nicolai Josuttis: P3828R1: Rename the to_input view to as_input
› P3842R2
A conservative fix for constexpr uncaught_exceptions() and current_exception()
V. Voutilainen
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
The papers [P3818](https://open-std.org/JTC1/SC22/WG21/docs/papers/2025/p3818r1.html) and [P3820](https://open-std.org/JTC1/SC22/WG21/docs/papers/2025/p3820r1.html) explain the background of the problem we have making uncaught_exceptions() and current_exception(). In short, having those function constexpr is a breaking change in some cases.
› P3856R8
New reflection metafunction - is_structural_type (US NB comment 49)
J. Dave , A. Meredith
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
Several parts of the standard and library refer to structural types, including library mandates that types be structural, yet there is no way to query whether a type is structural. Library mandates clauses mean that library implementers must somehow have this functionality, but it is simply not exposed to users. We propose a new reflection metafunction - *is_structural_type(info)* as a solution, w
› P3927R2
task_scheduler Support for Parallel Bulk Execution
E. Niebler
Intent
Proposal
Disposition Date
2026-03Adopted
› P3941R4
Scheduler Affinity
D. Kühl
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
There are a few NB comments raised about the way `affine_on` works:
› P3948R1
constant_wrapper is the only tool needed for passing constant expressions
M. Kretz
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
```cpp "int std:: __polyfunc :: _Base_invoker <false , int >:: _S_call_storage < …" jmp [QWORD PTR [rdi]] "int std:: __polyfunc :: _Base_invoker <false , int >:: _S_call_storage < …" mov eax , 2 ret ```
› P3953R3
Rename std::runtime_format
V. Zverovich
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
[P2918] introduced `std::runtime_format` to allow opting out of compile-time format string checks in `std::format`. Subsequently, [P3391] made `std::format` usable in constant evaluation. As a result, `std::runtime_format` can now be evaluated at compile time, making its name misleading. This paper proposes renaming `std::runtime_format` to `std::dynamic_format` to better reflect its semantics and
› P3961R1
Less double indirection in function_ref (RU-220)
Z. Yuan
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
RU-220 calls for allowing skipping indirections when constructing `function_ref` to improve codegen. The proposed change in LWG 4264<sup>[1]</sup> is not strictly an optimization because certain behaviors with and without the change are visible, therefore, need to be made unspecified. This paper (P3961) suggests that, in addition to the change, a subset of the "optimized" cases should be mandated.
› P3978R3
constant_wrapper should unwrap on call and subscript
M. Kretz
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
As discussed in [P3948R0], because of language inconsistencies, `std::constant_wrapper` is inconsistently not unwrapping for call and subscript operators whereas all other operators can be found via ADL and the conversion operator implemented in `constant_wrapper`. Looking at `std::`
› P3980R1
Task's Allocator Use
D. Kühl
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
There are a few NB comments about `task`’s use of allocators:
› P3982R2
Split strided_slice into extent_slice and range_slice for C++26
T. Kamiński , M. Hoemmen
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
**Addresses [PL007: Define the extent member of the `strided_slice`](https://github.com/cplusplus/nbballot/issues/816)**
› P3983R1
simd object representation
D. Towner , R. Arutyunyan
Intent
Proposal
Abstract
The Working Draft makes `simd` types *trivially copyable types*, which allows `std::bit_cast` operations. However, the object representation is unspecified, making the results implementation-defined.
› P3986R1
A Wording Strategy for Inlinable Receivers
R. Leahy
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
When a sender and receiver are connected the result is an operation state. That operation state, once started, is the locus of an asynchronous operation which, upon completion, must notify its consumer of said completion (§33.3 [exec.async.ops]). The way this notification is accomplished is by sending a completion signal to the receiver provided when connecting the sender and receiver.
› P4012R1
value-preserving consteval broadcast to simd::vec
M. Kretz
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
1. Novel (no other type in the standard library does this2).
› P4037R1
Supporting signed char and unsigned char in random number generation
J. Schultke
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
Support for `unsigned char` and `signed char` in distributions would be useful. The ability to generate random bytes or octets is extremely valuable for [fuzz testing](https://en.wikipedia.org/wiki/Fuzzing). For example, when testing an implementation of an [LZ77 or LZ78](https://en.wikipedia.org/wiki/LZ77_and_LZ78) compression algorithm, a user would typically
› P4042R0
Fix LWG4543: incorrect cast between simd::vec and simd::mask [...]
M. Kretz
Intent
Proposal
Abstract
| Document Number: | P4042R0 | | --- | --- | | Date: | 2026-03-18 | | Reply-to: | Matthias Kretz <m.kretz@gsi.de> | | Audience: | LWG | | Target: | C++26 |
› P4140R0
Proposed resolution for US70-126: allow incomplete types in type_order
G. Ažman
Intent
Proposal
Disposition Date
2026-03Adopted
› P4144R1
Remove span's initializer_list constructor for C++26
M. Hoemmen , T. Kamiński , T. Song , J. Wakely
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
This paper expresses [LWG4520](https://cplusplus.github.io/LWG/issue4520) and proposes fixing it by reverting adoption of [P2447R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2447r6.html).
› P4154R0
Renaming various execution things
T. Song , R. Arutyunyan , A. O’Dwyer
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
This paper provides replacement wording for the following papers:
› P4156R0
Rename meta::has_ellipsis_parameter to meta::is_vararg_function
V. Voutilainen
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
This paper proposes wording to resolve the NB comment [FR-017-155](https://github.com/cplusplus/nbballot/issues/734).
› P4159R0
Make sender_to and receiver_of exposition-only
T. Song
Intent
Proposal
Disposition Date
2026-03Adopted
Abstract
In response to LEWG direction on [LWG4361], this paper provides wording to make the `receiver_of` and `sender_to` concepts exposition-only for C++26.
› P4161R0
std::fewer
J. Snyder , J. Coe , N. Banglawala
› P4173R0
A range facility for mdspan
H. Kang
Intent
Proposal
Abstract
Standard `mdspan` accessors, such as `default_accessor`, are specialized for use with raw pointers. While `mdspan`'s design allows for custom accessors, providing a standardized iterator-based accessor simplifies integration with ranges such as views and containers.
› P4179R0
view_interface::[c]rbegin()
H. Kang
Intent
Proposal
Abstract
This paper provides `rbegin()`/`rend()`/`crbegin()`/`crend()` methods to `ranges::view_interface`, making its interface more symmetric with the existing `cbegin()`/`cend()` members and enhancing convenience for views. Revision history R0 Initial revision. Discussion In C++23, `view_interface` added `cbegin()`/`cend()` members to improve const-correctness and interface consistency. However, it stil
› P4188R0
Extensible Math Functions for C++
S. Gros-Lemesre