I have quite a few C++ proposals I am working on and percolating through the C++ Standards Committee. You will find the submitted and unsubmitted ones below! Be sure to also check out the proposals
and standard
tags for any writeups related to C++ proposals!
Actively Pursued Evolution Proposals:
C++ | p1040: std::embed | Published | Latest Draft |
C++ | p1629: Standard Text Encoding | Published | Latest Draft |
C++ | p1664: Reconstructible Ranges | Published | Latest Draft |
C++ and C | n2592 + p1967: Preprocessor embed - Binary Resource Inclusion | Published | Latest Draft |
C | n2619: Not-So-Magic: typeof() for C |
Published | Latest Draft |
C | n2620: Restartable and Non-Restartable Functions for Efficient Character Conversions | Published | Latest Draft |
C | n26X1: Restartable and Non-Restartable Functions for Efficient UTF Character Conversions | Not Yet Published | Latest Draft |
Approved Proposals:
C++ | Library Evolution Approved, in Library Wording | C++23 | p1682: std::to_underlying(T enum_value) |
Published | Latest Draft |
C++ | Library Evolution Approved, in Library Wording | C++23 | p1132: out_ptr - a scalable output pointer abstraction | Published | Latest Draft |
Completed / Merged Proposals:
C++ | p1025: Update References to the Unicode Standard | Published | Accepted! |
C++ | p1301: [[nodiscard(“should have a reason”)]] | Published | Accepted! |
C | n2448: [[nodiscard(“should have a reason”)]] | Published | Accepted! |
C++ | p0330: Literal Suffixes for ptrdiff_t and size_t |
Published | Accepted! |
C | n2594: Mixed Wide String Literal Concatenation | Published | Accepted! |
Being Reworked from Feedback:
C++ | p1214: Callables Cleanup! - Overloading and Pointer-to-Members | Published | Latest Draft |
C++ | p1039: I got you, FAM - Flexible Array Members for C++ | Published | Latest Draft |
Educational
These proposals are educational in nature only and, while making recommendations, will not see additional pursuit or wording.
C++ | p1683: A Survey of References for Standard Library Types - A Survey of Optionals | Published | Latest Draft |
Expired:
These proposals are dead and will not be picked up again.
C++ | p1175: A simple and practical optional reference for C++ | Published | Latest Draft |
C++ | p1130: Module Resource Requirement Propagation | Published | Latest Draft |
Cannot Pursue
These proposals are challenging and may require significant rework or language enhancement. Some have also been superseded by other proposals.
C++ | p0051: std::overload |
Not Published | Latest Draft |
C++ | p1803: packexpr(args, I) – compile-time friendly pack inspection | Published | Latest Draft |
C++ | p1193: Explicitly Specified Returns for (Implicit) Conversions | Published | Latest Draft |
C++ | p1378: consteval is_string_literal(T*) |
Not Published | Latest Draft |