Just a bunch of proposals for standardization that I've worked on. This is probably not up to date, since I always forget to push. Rendered here.
As of pre-Cologne 2019, I use mpark/wg21 to make all of my papers.
- p0704r1 - Fixing const-qualified pointers to members.
- p0780r2 - Allow pack expansion in lambda init-capture. There is a core issue (CWG 2378) as a pack of references is currently specified as
...&id
instead of&...id
. - p0848r3 - Conditionally Trivial Special Member Functions, with Casey Carter.
- p0892r2 -
explicit(bool)
, with STL. - p1065r2 - constexpr
INVOKE
, with Tomasz Kamiński. - p1185r2 -
<=> != ==
. Splitting==
and<=>
. - p1186r3 - When do you actually use
<=>
?. A helper feature to make it easier to adopt<=>
. - p1187r0 - A type trait for
std::compare_3way()
's type. - p1188r0 - Library utilities for
<=>
. - p1189r0 - Adding
<=>
to library. - p1614r2 - The Mothership Has Landed. The one library wording paper for everything
<=>
related (including many papers that are not mine). - p1630r1 - Spaceship needs a tuneup. A paper addressing several
<=>
-related issues that have come up. - p1870r1 -
forwarding-range<T>
is too subtle. - p1871r1 - Concept traits should be named after concepts.
- p1946r0 - Allow defaulting comparisons by value.
- p1959r0 - Remove
std::weak_equality
andstd::strong_equality
. - p2095r0 - Resolve lambda init-capture pack grammar (CWG2378).
- p2017r1 - Conditionally borrowed ranges.
- p2036r3 - Change scope of lambda trailing-return-type.
- p2162r2 - Inheriting from
std::variant
. - p2210r2 - Superior String Splitting.
- p2231r1 - Missing
constexpr
instd::optional
andstd::variant
. - p2280r4 - Using unknown references in constant expressions.-
- p2325r3 - Views should not be required to be default constructible.
- p2415r2 - What is a
view
? - p2493r0 - Missing feature test macros for C++20 core papers
- p2564r3 -
consteval
needs to propagate up.
- p0847r7 - Deducing this, with Simon Brand, Gašper Ažman, and Ben Deane.
- p1169r4 -
static operator()
, with Casey Carter. - p1938r3 -
if consteval
, with Richard Smith, Andrew Sutton, and Daveed Vandevoorde. - p2278r4 -
cbegin
should always return a constant iterator (LWG already approved). - p2286r8 - Formatting Ranges.
- p2322r6 -
ranges::fold
. - p2387r3 - Pipe support for user-defined range adaptors.
- p2441r2 -
views::join_with
- p2446r2 -
views::as_rvalue
(LWG already approved). - p2448r2 - Relaxing some
constexpr
restrictions. - p2508r2 - Expose
std::basic-format-string<charT, Args...>
. - p2520r0 -
move_iterator<T*>
should be a random access iterator. - p2585r1 - Improve default container formatting.
- p2602r1 - Poison Pills are Too Toxic.
- p2647r1 - Permitting
static constexpr
variables inconstexpr
functions.
None.
- p1061r3 - Structured bindings can introduce a Pack, with Jonathan Wakely.
- p2593r1 - Allowing
static_assert(false)
None.
- p2484r0 - Extending support for class types as non-type template parameters
- p2561r1 - An error propagation operator
- p2637r1 - Member
visit
. - p2641r1 - Checking if a union alternative is active.
- p2214r2 - A Plan for C++23 Ranges, with Conor Hoekstra and Tim Song.
- p1858r2 - Generalized pack declarations and usage.
- p2277r0 - Packs outside of templates.
- p2120r0 - Simplified structured bindings protocol with pack aliases. Splitting off the structured bindings part from p1858.
- p1900r0 - Concepts-adjacent problems.
- p2279r0 - We need a language mechanism for customization points.
- d2011r2 - A pipeline-rewrite operator, with Colby Pike.
- p2287r1 - Designated-initializers for Base Classes.
- p2481r1 - Forwarding reference to specific type/template.
- p0321r1 - Make pointers to members callable. Rejected in Toronto.
- p0573r2 - Abbreviated Lambdas, with Tomasz Kamiński. Rejected in Albuquerque.
- p0644r1 - Forward without forward. Rejected in Albuquerque.
- p0893r1 - Chaining comparisons, with Herb Sutter. Rejected in San Diego.
- p1170r0 - Overload sets as function parameters, with Andrew Sutton. Need to reconsider the design.
- p2089r0 - Function parameter constraints are fragile. The proposal this responds to was tabled.
- p2550r1 -
ranges::copy
should sayoutput_iterator
somewhere.