› P0260R21
C++ Concurrent Queues
D. Vollmann , L. Crowl , C. Mysen , G. Nishanov
2026-08-18
2026-09
Doc Date
2026-08-18
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
› P3211R3
views::transform_join
H. Kang
2026-09-09
2026-09
Doc Date
2026-09-09
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
› P4357R0
Reflections on Completion Signatures
R. Leahy
2026-09-09
2026-09
Doc Date
2026-09-09
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
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
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
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
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.