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

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

2026 656 papers

Pick months in 2026

2025 Jul · 1 of 1

Pick months in 2025

Add Year +

Select Years To Display

Current Years Selected

2026 2025
Filters Author: Barry Revzin Clear all
8 out of 8 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P1306R5 Expansion statements Dan Katz D. Katz , Barry Revzin B. Revzin , Andrew Sutton A. Sutton , Sam Goodrick S. Goodrick , Daveed Vandevoorde D. Vandevoorde 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience WG21
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract This paper proposes a new kind of statement that enables the compile-time repetition of a statement for each element of a tuple, array, class, range, or brace-delimited list of expressions. Existing methods for iterating over a heterogeneous container inevitably leverage recursively instantiated templates to allow some part of the repeated statement to vary (e.g., by type or constant) in each inst
P2996R13 Reflection for C++26 Barry Revzin B. Revzin , Wyatt Childers W. Childers , Peter Dimov P. Dimov , Andrew Sutton A. Sutton , Faisal Vali F. Vali , Daveed Vandevoorde D. Vandevoorde , Dan Katz D. Katz 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience CWGLWG
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract This is a proposal for a reduced initial set of features to support static reflection in C++. Specifically, we are mostly proposing a subset of features suggested in [[P1240R2]](https://wg21.link/p1240r2):
P3293R3 Splicing a base class subobject Barry Revzin B. Revzin , Peter Dimov P. Dimov , Dan Katz D. Katz , Daveed Vandevoorde D. Vandevoorde 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience CWGLWG
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract There are many contexts in which it is useful to perform the same operation on each subobject of an object in sequence. These include serialization or [formatting](https://www.boost.org/doc/libs/1_85_0/libs/describe/doc/html/describe.html#example_print_function) or [hashing](https://www.boost.org/doc/libs/1_85_0/libs/describe/doc/html/describe.html#example_hash_value).
P3394R4 Annotations for Reflection Daveed Vandevoorde D. Vandevoorde , Wyatt Childers W. Childers , Dan Katz D. Katz , Barry Revzin B. Revzin 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience WG21
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract Ever since writing [[P1240R0] (Scalable Reflection in C++)](https://wg21.link/p1240r0), but more so since [[P2996R0] (Reflection for C++26)](https://wg21.link/p2996r0), we have been requested to add a capability to annotate declarations in a way that reflection can observe. For example, Jeremy Ong presented compelling arguments in a post to the [SG7 reflector](https://lists.isocpp.org/sg7/2023/10/
P3491R3 define_static_{string,object,array} Barry Revzin B. Revzin , Wyatt Childers W. Childers , Peter Dimov P. Dimov , Daveed Vandevoorde D. Vandevoorde 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience CWGLWG
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract These functions were originally proposed as part of [[P2996R7] (Reflection for C++26)](https://wg21.link/p2996r7), but are being split off into their own paper.
P3560R2 Error Handling in Reflection Barry Revzin B. Revzin , Peter Dimov P. Dimov 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience LWG
Tracking issue View on GitHub
Disposition Date 2025-06Adopted
Abstract In [[P2996R12] (Reflection for C++26)](https://wg21.link/p2996r12), we had to answer the question of what the error handling mechanism should be. We considered four options:
P3726R0 Adjustments to Union Lifetime Rules Barry Revzin B. Revzin , Tomasz Kamiński T. Kamiński 2025-07-13 2025-07
Doc Date 2025-07-13
Mailing Date 2025-07 Post-Sofia
Target Audience EWGCWG
Revisions R2
Tracking issue View on GitHub
Abstract [[P3074R7] (trivial `union`s (was `std::uninitialized<T>`))](https://wg21.link/p3074r7) was adopted in Hagenberg. One of the goals of that paper was to make an example like this work:
P3795R0 Miscellaneous Reflection Cleanup Barry Revzin B. Revzin 2025-07-15 2025-07
Doc Date 2025-07-15
Mailing Date 2025-07 Post-Sofia
Author(s) Barry Revzin
Target Audience EWG
Revisions R2R1
Tracking issue View on GitHub
Abstract At the Sofia meeting, [[P2996R13] (Reflection for C++26)](https://wg21.link/p2996r13), [[P3394R4] (Annotations for Reflection)](https://wg21.link/p3394r4), [[P3293R3] (Splicing a base class subobject)](https://wg21.link/p3293r3), [[P3491R3] (`define_static_{string,object,array}`)](https://wg21.link/p349143), [[P3096R12] (Function Parameter Reflection in Reflection for C++26)](https://wg21.link/p30
Showing 8 of 8 papers · source: open-std.org