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
General
Wording
Evolution
Study Groups
Mailings
1 · Year 1 · Month

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

2026 Sep · 1 of 7

Pick months in 2026

Add Year +

Select Years To Display

Current Years Selected

2026
Filters LEWG Clear all
26 out of 26 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P0260R21 C++ Concurrent Queues D. Vollmann, L. Crowl, C. Mysen, G. Nishanov 2026-08-18 2026-09
Doc Date 2026-08-18
Mailing Date 2026-09 Unassigned
Target Audience LEWGSG1
Revisions R20
Tracking issue View on GitHub
Abstract Concurrent queues are a fundamental structuring tool for concurrent programs. We propose concurrent queue concepts and a concrete implementation.
P2728R15 Unicode in the Library, Part 1: UTF Transcoding E. Nolan 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Eddie Nolan
Target Audience LEWGSG16
Revisions R14R13R12R11
Tracking issue View on GitHub
P3211R3 views::transform_join H. Kang 2026-09-09 2026-09
Doc Date 2026-09-09
Mailing Date 2026-09 Unassigned
Author(s) Hewill Kang
Target Audience LEWGLWGSG9
Revisions R2
Tracking issue View on GitHub
Abstract We propose `views::transform_join`, a range adaptor that applies a function returning a range for each element, then flattens the result. This pattern, commonly known as *flat mapping*, is widespread in functional programming and data processing. Providing it as a dedicated view improves readability and expressiveness, and also opens opportunities for optimization in lazy evaluation contexts.
P3643R3 std::to_signed and std::to_unsigned J. Schultke 2026-08-23 2026-09
Doc Date 2026-08-23
Mailing Date 2026-09 Unassigned
Author(s) Jan Schultke
Target Audience LEWG
Tracking issue View on GitHub
Abstract Add `std::to_signed` and `std::to_unsigned` function templates in the style of `std::to_underlying`.
P3688R7 ASCII character utilities J. Schultke, C. Jabot 2026-08-23 2026-09
Doc Date 2026-08-23
Mailing Date 2026-09 Unassigned
Target Audience LEWG
Revisions R6
Tracking issue View on GitHub
Abstract The utilities in `<cctype>` or `<locale>` are locale-specific, not `constexpr`, and provide no support for Unicode character types. We propose lightweight, locale-independent alternatives.
P3876R3 Extending <charconv> support to more character types J. Schultke, P. Bindels 2026-08-31 2026-09
Doc Date 2026-08-31
Mailing Date 2026-09 Unassigned
Target Audience LEWG
Revisions R2R1
Tracking issue View on GitHub
Abstract `std::to_chars` and `std::from_chars` currently only provide support for `char`, which causes several usability problems. This paper proposes to extend support to all other character types, with essentially the same behavior.
P3928R2 static_sized_range H. Kang 2026-08-26 2026-09
Doc Date 2026-08-26
Mailing Date 2026-09 Unassigned
Author(s) Hewill Kang
Target Audience LEWGLWGSG9
Revisions R1
Tracking issue View on GitHub
Abstract This paper introduces `static_sized_range`, a refinement of `sized_range` for ranges whose sizes are known at compile time.
P3955R2 It's Scopes All the Way Down R. Leahy 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Revisions R1R0
Tracking issue View on GitHub
Abstract This paper lays out an approach to achieving the same effect as regular, synchronous scopes in the asynchronous domain (i.e. `std::execution` [1]), including asynchronous construction and destruction of objects.
P4168R1 Fix defects in floating-point std::from_chars (LWG3081, LWG3082, LWG3456) J. Schultke 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Author(s) Jan Schultke
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract This paper supersedes [[P2827R1]](https://wg21%2elink/p2827r1) and fixes [[LWG3081]](https://wg21%2elink/LWG3081), [[LWG3082]](https://wg21%2elink/LWG3082), and [[LWG3456]](https://wg21%2elink/LWG3456). It is intended as a defect report for C++17. The handling of floating-point overflow and underflow in `std::from_chars` is inconsistent; the implementations diverge from each other, and every imple
P4191R1 is_nothrow_connectable_in R. Leahy 2026-09-09 2026-09
Doc Date 2026-09-09
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract This paper proposes adding two type traits to the `std::execution` namespace which allow the determination of whether `std::execution::connect` throws for a certain sender in a certain environment.
P4230R1 Implementability of P0943's C++ stdatomic.h H. Boehm 2026-08-15 2026-09
Doc Date 2026-08-15
Mailing Date 2026-09 Unassigned
Author(s) Hans Boehm
Target Audience LEWGLWGSG1SG22
Revisions R0
Tracking issue View on GitHub
Abstract [P0943](http://wg21.link/p0943) was accepted into C++23. One of the national body comments for C++26 proposed its removal. SG1 voted without objection to retain it. LEWG almost obtained consensus to remove it. This is an attempt to outline the issues, as mostly exposed in the LEWG discussion, a later reflector discussion (“stdatomic.h in C++”, starting March 27, 2026), and some [discussion on a](h
P4267R0 Formatting Enums, Upon Reflection V. Zverovich 2026-08-20 2026-09
Doc Date 2026-08-20
Mailing Date 2026-09 Unassigned
Author(s) Victor Zverovich
Target Audience LEWGSG16
Abstract Formatting an enumeration as its underlying type currently requires either a formatter specialization or an explicit conversion at every call site. [P3070] proposed `format_as`, an ADL-based customization point that makes this more convenient and allows the conversion to be performed before type erasure.
P4269R1 when_all Oughtn't Hallucinate set_stopped R. Leahy 2026-08-30 2026-09
Doc Date 2026-08-30
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Revisions R0
Tracking issue View on GitHub
Abstract This paper proposes that `std::execution::when_all` not use a `std::inplace_stop_source` when it can be statically determined such a stop source would never be used.
P4276R1 A Policy for Scalar Overloads in std::simd D. Towner 2026-09-02 2026-09
Doc Date 2026-09-02
Mailing Date 2026-09 Unassigned
Author(s) Daniel Towner
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract `std::simd` includes scalar overloads for a few operations, but a proposal should not be expected to provide them simply because other recent papers have. A scalar supplied where a vector is expected is already broadcast to a vector by the converting constructor. An explicit scalar overload is therefore only useful when it offers a concrete semantic or implementation benefit that the broadcast can
P4288R2 Stop the Decay R. Leahy 2026-09-20 2026-09
Doc Date 2026-09-20
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Revisions R1R0
Tracking issue View on GitHub
Abstract This paper proposes that `std::execution` algorithms pass through by-reference result datums from child operations rather than uniformly decay-copying them. To aid in the accomplishment thereof it also proposes class templates which abstract the necessary completion storage and completion signature transformation. This paper does not propose changing how `std::execution` algorithms store the argum
P4320R1 std::execution::sequence R. Leahy 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Revisions R0
Tracking issue View on GitHub
Abstract `sequence` adapts any number of input senders into a sender which completes when all input senders have completed, with each input sender’s asynchronous operation being started only after the completion of the preceding input sender’s asynchronous operation.
P4333R0 Asynchronous main I. Petersen, J. Wong, R. Leahy 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Target Audience EWGLEWGSG1SG17SG18
Abstract This paper proposes that `main` should have an alternate, sender factory form.
P4335R0 2026-09 Library Evolution Polls I. Levi, F. Fracassi, A. Weis, C. Jabot 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Target Audience LEWG
Abstract This paper contains the decision polls that the C++ Library Evolution group will take in September 2026.
P4346R0 Make `movable-box` `movable_box` S. Downey 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Steve Downey
Target Audience LEWG
Abstract The exposition-only class template *movable-box* is the workhorse of the range adaptors. It is how the standard library stores a predicate, a projection, or a value inside a view type and still satisfies the assignability the `view` concept demands. Every implementation ships one. Every ranges-adjacent library reimplements one. Anyone writing a conforming view outside the standard library must wri
P4349R0 Hardened preconditions for indirect and polymorphic T. Brindle, J. Coe, A. Peacock 2026-08-21 2026-09
Doc Date 2026-08-21
Mailing Date 2026-09 Unassigned
Target Audience LEWG
Abstract C++26 introduced two new “vocabulary types for composite class design”, `std::indirect` and `std::polymorphic`, via [[P3019R14]](https://wg21.link/p3019r14).
P4350R0 Presentation "Concepts for C++ Concurrent Queues" D. Vollmann 2026-08-18 2026-09
Doc Date 2026-08-18
Mailing Date 2026-09 Unassigned
Author(s) Detlef Vollmann
Target Audience LEWG
P4357R0 Reflections on Completion Signatures R. Leahy 2026-09-09 2026-09
Doc Date 2026-09-09
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Abstract This paper proposes changes and additions to better integrate `std::meta::info` into the calculation of completion signatures in `std::execution`.
P4358R0 Pointer tagging for custom pointer types C. Jabot 2026-09-21 2026-09
Doc Date 2026-09-21
Mailing Date 2026-09 Unassigned
Author(s) Corentin Jabot
Target Audience LEWG
Abstract This paper proposes support for pointer-like types in `pointer_tag_pair`.
P4364R0 Emitting messages at compile time with std::format B. Revzin 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Barry Revzin
Target Audience LEWG
Abstract [[P2758R5] (Emitting messages at compile time)](https://wg21.link/p2758r5) is still working its way through the committee, but in the meantime [[P3391R2] (constexpr std::format)](https://wg21.link/p3391r2) has been adopted for C++26. Which means that the former paper can continue to just provide the lower level interface that accepts `std::string_view` while this paper can provide the more complex
P4373R0 Why Did You Stop? R. Leahy 2026-09-10 2026-09
Doc Date 2026-09-10
Mailing Date 2026-09 Unassigned
Author(s) Robert Leahy
Target Audience LEWGSG1
Abstract This paper proposes that, in certain cases, consumers be able to determine that asynchronous operations only send `std::execution::set_stopped_t()` when requested.
P4378R0 Align exact-width integer types with C M. Çağrı 2026-09-22 2026-09
Doc Date 2026-09-22
Mailing Date 2026-09 Unassigned
Author(s) Murat Can Çağrı
Target Audience LEWGLWGSG22
Abstract C23 requires the exact-width typedef names for every width for which an implementation provides a standard or extended integer type with no padding bits. C++ retains this requirement only for widths 8, 16, 32, and 64. This paper aligns C++ with C23.
Showing 26 of 26 papers · source: open-std.org