WG21 PAPERS

Mailings Beta

Volunteer-driven · Not affiliated with WG21 or ISO

Filter and export papers from the C++ Committee’s monthly mailings by time frame and audience using the options below, or refine your export further with the Select button. Links point directly to the official WG21 papers on open-std.org.

Audience
Wording
Evolution
Study Groups
Mailings
1 · Year 1 · Month

Select the arrow to the right of the year to filter for specific months.

2026 May · 1 of 6

Pick months in 2026

Add Year +

Select Years To Display

Current Years Selected

2026
Filters Author: Daniel Towner LEWG Clear all
6 out of 6 papers selected for export
SelectPaper Title Authors Audience Doc Date
P2929R4 chunked_invoke D. Towner, R. Arutyunyan
Mailing Date 2026-05 Pre-Brno
Target Audience LEWG
Revisions R3R2
Tracking issue View on GitHub
Abstract ISO/IEC 19570:2018 introduced data-parallel types to the C++ Extensions for Parallelism TS [P1928R15]. That paper, and several ancillary papers, do an excellent job of setting out the main features of an extension to C++ which allows generic data parallel programming on arbitrary targets. However, it is inevitable that the programmer will want to make some use of target-specific intrinsics, or cal
P2964R4 Allowing user-defined types in std::simd D. Towner, R. Arutyunyan
Mailing Date 2026-05 Pre-Brno
Target Audience LEWGSG6
Revisions R5R3R2
Tracking issue View on GitHub
Abstract The C++ standard library includes data-parallel types in the `<simd>` header, currently restricting element types to a closed list of *built-in vectorizable* types: arithmetic types and `std::complex` specializations. This paper proposes a minimal change to the specification in which this list is extended. Firstly, `std::byte` is added to the closed list as a standard library type with fixed seman
P3971R1 Generalised type rebinding for structures of uniform elements D. Towner
Mailing Date 2026-05 Pre-Brno
Author(s) Daniel Towner
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract Modern C++ provides powerful facilities for generic programming, but lacks a uniform way to change the element type of containers and container-like types. Consider a simple requirement: convert a container of `float` into the corresponding container of `double`, without the caller having to know what kind of container it is.
P3973R1 bit_cast_as: Element type reinterpretation for std::simd D. Towner
Mailing Date 2026-05 Pre-Brno
Author(s) Daniel Towner
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract SIMD programming frequently requires reinterpreting vector data at different element granularities—converting packed bytes to shorts, accessing the bit representation of floats, or regrouping data for different operations. While platform intrinsics have long supported this pattern naturally, with `std::simd` programmers must use `std::bit_cast` with fully-specified target types, manually computing
P3983R2 simd object representation D. Towner, R. Arutyunyan
Mailing Date 2026-05 Pre-Brno
Target Audience LEWGLWGSG1
Revisions R1R0
Tracking issue View on GitHub
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 similarly unspecified.
P4209R0 numeric_limits for std::simd D. Towner
Mailing Date 2026-05 Pre-Brno
Author(s) Daniel Towner
Target Audience LEWGSG6
Tracking issue View on GitHub
Abstract The SIMD working draft introduces `std::simd::basic_vec<T, Abi>` as an element-wise parallel extension of an element type `T`. A central goal is to allow the same generic numeric code to operate on scalar `T` and on `basic_vec<T, Abi>` interchangeably. Most non-trivial numeric code that aims for that behaviour would require `std::numeric_limits<V>` somewhere. For example:
Showing 6 of 6 papers · source: open-std.org