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 Oct · 1 of 8

Pick months in 2026

2025 143 papers

Pick months in 2025

Add Year +

Select Years To Display

Current Years Selected

2026 2025
Filters LEWG Clear all
30 out of 30 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P0260R22 C++ Concurrent Queues Detlef Vollmann D. Vollmann , Lawrence Crowl L. Crowl , Chris Mysen C. Mysen , Gor Nishanov G. Nishanov 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWGLWG
Revisions R21R20R19R18
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.
P2689R4 Atomic Refs Bound to Memory Orderings & Atomic Accessors Christian Trott C. Trott , Mark Hoemmen M. Hoemmen , Damien Lebrun-Grandie D. Lebrun-Grandie , Dan Sunderland D. Sunderland , Nevin Liber N. Liber 2026-10-13 2026-10
Doc Date 2026-10-13
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWGSG1
Tracking issue View on GitHub
P2728R16 Unicode in the Library, Part 1: UTF Transcoding Eddie Nolan E. Nolan 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Eddie Nolan
Target Audience LEWG
Revisions R15R14R13R12R11
Tracking issue View on GitHub
P3045R10 Quantities and units library Mateusz Pusz M. Pusz , Dominik Berner D. Berner , Johel Ernesto Guerrero Peña J. Peña , Charles Hogg C. Hogg , Nicolas Holthaus N. Holthaus , Roth Michaels R. Michaels , Vincent Reverdy V. Reverdy 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWG
Revisions R9R8R7R6
Tracking issue View on GitHub
Abstract Several groups in the ISO C++ Committee reviewed the “P1935: A C++ Approach to Physical Units” [[P1935R2]](https://wg21.link/p1935r2) proposal in Belfast 2019 and Prague 2020. All those groups expressed interest in the potential standardization of such a library and encouraged further work. The authors also got valuable initial feedback that highly influenced the design of the V2 version of the [[
P3100R9 A framework for systematically addressing undefined behaviour in the C++ Standard Timur Doumler T. Doumler , Joshua Berne J. Berne 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Target Audience EWGLEWG
Revisions R8R7R6R3
Tracking issue View on GitHub
Abstract In this paper, we enumerate all cases of core language undefined behaviour explicitly specified in the C++ Standard, group them into ten categories, and classify them along a number of relevant criteria.
P3643R5 std::to_signed and std::to_unsigned Jan Schultke J. Schultke 2026-10-14 2026-10
Doc Date 2026-10-14
Mailing Date 2026-10 Pre-Búzios
Author(s) Jan Schultke
Target Audience LEWG
Revisions R4R3
Tracking issue View on GitHub
Abstract Add `std::to_signed` and `std::to_unsigned` function templates in the style of `std::to_underlying`.
P3655R6 cstring_view Peter Bindels P. Bindels , Hana Dusikova H. Dusikova , Jeremy Rifkin J. Rifkin , Marco Foco M. Foco , Alexey Shevlyakov A. Shevlyakov , Thomas Köppe T. Köppe , Xavier Bonaventura X. Bonaventura 2026-10-18 2026-10
Doc Date 2026-10-18
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWGLWG
Revisions R5R4R2
Tracking issue View on GitHub
Abstract We propose a standard string view type that guarantees null-termination.
P3666R5 Bit-precise integers Jan Schultke J. Schultke 2026-10-18 2026-10
Doc Date 2026-10-18
Mailing Date 2026-10 Pre-Búzios
Author(s) Jan Schultke
Target Audience LEWGCWG
Revisions R4R3
Tracking issue View on GitHub
Abstract C23 has introduced so-called "bit-precise integers" into the language, which should be brought to C++ for compatibility, among other reasons. Following an exploration of possible designs in [[P3639R0]](https://wg21%2elink/p3639r0) "The `_BitInt` Debate", this proposal introduces a new set of fundamental types to C++.
P3704R1 What are profiles? Bjarne Stroustrup B. Stroustrup 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Bjarne Stroustrup
Target Audience EWGLEWGSG20SG23
Tracking issue View on GitHub
Abstract The aim of this note is to give a brief explanation of what Profiles are and what problems they aim to address. It also tries to dispel some myths about the scope of Profiles and give an idea of the current state of implementation.
P3852R4 constexpr `is_pointer_within` memory area Hana Dusíková H. Dusíková 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Hana Dusíková
Target Audience LEWG
Revisions R3R2R1
Tracking issue View on GitHub
Abstract ```cpp // [span.obs], observers constexpr size_type size() const noexcept; constexpr size_type size_bytes() const noexcept; constexpr bool empty() const noexcept; template <typename U> constexpr bool SPANS_OVER(const U & obj) const noexcept; ```
P3935R3 Rebasing <cmath> on C23 Jan Schultke J. Schultke 2026-10-10 2026-10
Doc Date 2026-10-10
Mailing Date 2026-10 Pre-Búzios
Author(s) Jan Schultke
Target Audience LEWG
Revisions R2R1
Tracking issue View on GitHub
Abstract Most of C++26 is based on C23, but the header `<cmath>` is still based on C17. There are many useful C23 `<math.h>` features that should be provided in C++.
P3969R3 Fixing std::bit_cast of types with padding bits Jan Schultke J. Schultke 2026-10-04 2026-10
Doc Date 2026-10-04
Mailing Date 2026-10 Pre-Búzios
Author(s) Jan Schultke
Target Audience LEWG
Revisions R2R1R0
Tracking issue View on GitHub
Abstract When bit-casting a type containing padding bits to a type with no padding bits, `std::bit_cast` degenerates into an alternative spelling for `std::unreachable` (some exceptions apply). To prevent this inadvertent footgun, this proposal makes that degenerate form of `std::bit_cast` ill-formed.
P4213R1 Minimal SI: Defining the International System of Units for the C++ Standard Library Mateusz Pusz M. Pusz 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Mateusz Pusz
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract [[P3045R10]](https://wg21.link/p3045r10) supplies the type system. It does not supply the SI. A user who includes the framework gets `quantity`, `unit`, `quantity_spec`, `prefix` — but no `metre`, no `kilogram`, no `second`. The framework is deliberately content-agnostic: it supports arbitrary systems of quantities and units. Shipping the framework without SI content would be like shipping `<algor
P4223R1 Towards senders in interfaces Ian Petersen I. Petersen 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Ian Petersen
Target Audience LEWGSG1SG14
Revisions R0
Tracking issue View on GitHub
Abstract The standard library offers two ways to declare an asynchronous function in one place and define it in another, and each falls short. Returning a sender whose type is specific to the function’s implementation puts the structure of that implementation in its declaration, so the implementation can’t change without changing the interface, and overrides of a virtual function can’t differ in structure.
P4267R1 Formatting Enums, Upon Reflection Victor Zverovich V. Zverovich 2026-09-27 2026-10
Doc Date 2026-09-27
Mailing Date 2026-10 Pre-Búzios
Author(s) Victor Zverovich
Target Audience LEWGSG16
Revisions R0
Tracking issue View on GitHub
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.
P4270R0 Free Value Or Else Steve Downey S. Downey 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Steve Downey
Target Audience LEWG
Abstract This paper proposes the member functions `value_or_construct` and `value_or_else` of [P3413R0] on `std::optional` and `std::expected`, which build the alternative only when it is needed, and the free functions `value_or`, `reference_or`, `or_invoke`, and `or_construct` over any type modeling a `nullable` concept, with the result type computed as the `common_type` or `common_reference` of the conta
P4280R0 Expected over References Steve Downey S. Downey 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Steve Downey
Target Audience LEWG
Abstract A function that can fail and otherwise returns a reference has no good return type today. `expected<T*,` `E>` lets a null pointer through as a success, and `expected<reference_wrapper<T>,` `E>` exposes the wrapper at every use. An error that is owned elsewhere, by a diagnostics engine or an error registry, has the same problem in the error position. We propose that `std::expected` hold an lvalue r
P4282R2 Away From co_yield For std::execution::task Robert Leahy R. Leahy 2026-10-17 2026-10
Doc Date 2026-10-17
Mailing Date 2026-10 Pre-Búzios
Author(s) Robert Leahy
Target Audience LEWGSG1
Revisions R1R0
Tracking issue View on GitHub
Abstract This paper updates the design and wording of `std::execution::task` given the adoption of P3950 [1].
P4295R1 Single Ends for C++ Concurrent Queues Detlef Vollmann D. Vollmann 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Detlef Vollmann
Target Audience LEWGSG1
Revisions R0
Tracking issue View on GitHub
Abstract Bounded concurrent queues are an important communication mechanism. But in most cases a specific part in a program only needs acces to one end of the queue. This paper proposes two templates that works with any `concurrent_queue` [P0260](https://wg21.link/P0260) that provide only one part of the queue interface.
P4336R0 2026-09 Library Evolution Poll Outcomes Inbal Levi I. Levi , Fabio Fracassi F. Fracassi , Andreas Weis A. Weis , Corentin Jabot C. Jabot 2026-10-17 2026-10
Doc Date 2026-10-17
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWGLWG
Abstract In 2026-09, the C++ Library Evolution group conducted an electronic poll [[P4335R0]](https://wg21.link/P4335R0). This paper provides the results of this poll and summarizes the responses.
P4346R1 std::movable_box: Give Users the Ranges Movable Wrapper Steve Downey S. Downey 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Steve Downey
Target Audience LEWGLWG
Revisions R0
Tracking issue View on GitHub
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
P4390R0 stopped_by Robert Leahy R. Leahy 2026-10-18 2026-10
Doc Date 2026-10-18
Mailing Date 2026-10 Pre-Búzios
Author(s) Robert Leahy
Target Audience LEWGSG1
Abstract This paper proposes `std::execution::stopped_by` which allows asynchronous operations to be stopped, in response to a stop request, by a second asynchronous operation.
P4394R0 started_by Robert Leahy R. Leahy 2026-10-19 2026-10
Doc Date 2026-10-19
Mailing Date 2026-10 Pre-Búzios
Author(s) Robert Leahy
Target Audience LEWGSG1
Abstract This paper proposes `std::execution::started_by` which allows asynchronous operations to be specified from only their completion signatures and an initiating function.
P4396R0 2026-10 Library Evolution Polls Inbal Levi I. Levi , Fabio Fracassi F. Fracassi , Andreas Weis A. Weis , Corentin Jabot C. Jabot 2026-10-22 2026-10
Doc Date 2026-10-22
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWG
Abstract This paper contains the decision polls that the C++ Library Evolution group will take in October 2026.
P4403R0 Survey of noexcept Policy Papers Inbal Levi I. Levi 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Inbal Levi
Target Audience LEWG
Abstract The paper "P2267R1: Library Evolution Policies" was created to define a framework for collecting and documenting widely agreed principles in the C++ standard library, defined as "policies" for the SD-9 document.
P4404R0 Standard Library Versioning Inbal Levi I. Levi 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Inbal Levi
Target Audience LEWG
Abstract The discussion on progress of the standard library has been going on for many years, with different approaches suggested and considered, each with their own tradeoffs. However, none of the approaches have had a consensus among the committee.
P4408R0 Implicit Conversions Between Integer Representation Types Mateusz Pusz M. Pusz 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Mateusz Pusz
Target Audience LEWGSG6
Abstract Consider a distance stored in a 16-bit integer to save memory:
P4414R0 Structural classes: a bugfix for reflection Ville Voutilainen V. Voutilainen 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Author(s) Ville Voutilainen
Target Audience EWGLEWG
Abstract This proposal allows encapsulated types, including `string_view` and `span`, to be used with `define_static_array`, and to be conveyed from compile-time code to run-time code.
P4415R0 Profiles: implementation status and experience Michael Wong M. Wong , Krystian Stasiowski ; Ville Voutilainen K. Voutilainen 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Target Audience EWGLEWGSG23
Abstract Profiles now have two independent implementations. Krystian Stasiowski's Clang implements the P3589R2 framework, except <ins>[[profiles::exempt]]</ins>, and most of the P4222R2 initialization profile <ins>std::init</ins>. Ville Voutilainen's GCC implements the framework, <ins>std::init, and the first working invalidation profile, std::invalidation</ins>, on the design of P3446R0 with the default-d
P4421R0 Numeric Traits for C++29 Damien Lebrun-Grandie D. Lebrun-Grandie , Mark Hoemmen M. Hoemmen , Jonathan Wakely J. Wakely , Matthias Kretz M. Kretz , Tim Song T. Song 2026-10-23 2026-10
Doc Date 2026-10-23
Mailing Date 2026-10 Pre-Búzios
Target Audience LEWG
Abstract This paper revives [[P1841R3]](https://wg21.link/p1841r3) (“Wording for Individually Specializable Numeric Traits”) for C++29, folding in the resolutions from [[P2551R2]](https://wg21.link/p2551r2) (“Clarify intent of P1841 numeric traits”) that were polled favorably by Library Evolution in 2022 but never turned into a new revision of P1841. It proposes no new design: it updates the wording to ref
Showing 30 of 30 papers · source: open-std.org