› 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
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
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
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
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
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.
› P3687R1
Final Adjustments to C++26 Reflection
Dan Katz
D. Katz
,
Wyatt Childers
W. Childers
,
Daveed Vandevoorde
D. Vandevoorde
,
Ville Voutilainen
V. Voutilainen
2025-06-18
2025-07
Doc Date
2025-06-18
Abstract
We propose two minor design changes to [[P2996R12](https://wg21.link/p2996r12)] to ensure its readiness for C++26 and future-proof the evolution of the feature.
› P3802R0
Poor Functions
Daveed Vandevoorde
D. Vandevoorde
2025-07-15
2025-07