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.

Disposition Updated

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

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

2026 Jul · 1 of 5

Pick months in 2026

Filters Author: Michael Wong Clear all
6 out of 6 papers selected for export
Paper Title Authors Audience Doc Date Audit
P2414R12 Pointer lifetime-end zap proposed solutions P. McKenney, M. Michael, J. Maurer, P. Sewell, M. Uecker, H. Boehm, H. Tong, N. Douglas, T. Rodgers, W. Deacon, M. Wong, D. Goldblatt, K. Serebryany, A. Williams, T. Scogland, J. Bastien, D. Krügler, D. Tenty
Mailing Date 2026-07 Post-Brno
Target Audience WG21
Revisions R11
Tracking issue View on GitHub
Disposition Date 2026-06
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. Although this permits additional diagnostics and optimizations which might be of some value, it is not consistent with long-standing usage, especially for a range of concurrent and sequential algorithms that rely on loads, stores, equality comparisons, and even dereferencing
P3347R6 Invalid/Prospective Pointer Operations P. McKenney, M. Michael, J. Maurer, P. Sewell, M. Uecker, H. Boehm, H. Tong, N. Douglas, T. Rodgers, W. Deacon, M. Wong, D. Goldblatt, K. Serebryany, A. Williams, T. Scogland, J. Bastien, J. McGuiness, D. Tenty
Mailing Date 2026-07 Post-Brno
Target Audience CWG
Tracking issue View on GitHub
Disposition Date 2026-06
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. This is a software-engineering nightmare because **all** operations on invalid pointers are implementation-defined, even loads and stores. This means that concurrent algorithms such as LIFO Push that knowingly use invalid pointers must have (for example) converted such pointe
P3427R6 Hazard Pointer Synchronous Reclamation M. Michael, M. Wong, P. McKenney, M. Wever
Mailing Date 2026-07 Post-Brno
Target Audience LWG
Revisions R5R4R3
Tracking issue View on GitHub
Abstract Hazard pointer interface from P2530R3 merged into the working draft (N5008):
P3428R4 Hazard Pointer Batches M. Michael, M. Wong, P. McKenney
Mailing Date 2026-07 Post-Brno
Target Audience WG21
Revisions R3
Tracking issue View on GitHub
Disposition Date 2026-06
Abstract This paper proposes extending the C++26 hazard pointer interface to support creation and destruction of batches of nonempty hazard pointers. This revision P3428R4 revises R3 by following LWG Brno 2026 feedback.
P3790R2 Pointer lifetime-end zap proposed solutions: Bag-of-bits pointer class P. McKenney, M. Michael, J. Maurer, P. Sewell, H. Boehm, H. Tong, N. Douglas, T. Rodgers, W. Deacon, M. Wong, D. Goldblatt, K. Serebryany, A. Williams, T. Scogland, J. Bastien, D. Krügler, D. Tenty
Mailing Date 2026-07 Post-Brno
Target Audience LEWGLWG
Tracking issue View on GitHub
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. Although this permits additional diagnostics and optimizations which might be of some value, it is not consistent with long-standing usage, especially for a range of concurrent and sequential algorithms that rely on loads, stores, equality comparisons, and even dereferencing
P4221R3 Atomic Compare M. Michael, P. McKenney, M. Wong
Mailing Date 2026-07 Post-Brno
Target Audience LEWG
Revisions R2R1R0
Tracking issue View on GitHub
Abstract This paper proposes adding a `compare_load` member function to `std::atomic<T>` and `std::atomic_ref<T>`, alongside corresponding free functions. This function performs an atomic comparison of the atomic object's value with an expected value, following the same value representation comparison semantics as `compare_exchange_strong`. It updates the expected argument on failure, operating entirely as
Showing 6 of 6 papers · source: open-std.org