I clearly missed some work when looking for prior ideas.


Looking at P1985: that is certainly the feature that I would like (modulus the syntax---that is in the detail, and in that regards I expect the usage of this feature to be mainly inside meta-programming support libraries, so syntax is a whatever anyways for me). I would be happy to shift my draft into that paper and aid in getting that paper accepted!


In reaction to the other posts in this forum. I do not feel strong about the auto keyword (or, equally, the using keyword). Think either would be confusing: auto in all other contexts defines a type of some variable value and using introduces a typename (or something type-like with a scope)---in this case, it is a mix of both (plus template template parameters, which don't have a short-hand notation besides a template'd using).



With kind regards



From: Gašper Ažman <gasper.azman@gmail.com>
Sent: Saturday, February 19, 2022 5:10 AM
To: Std-Proposals <std-proposals@lists.isocpp.org>
Cc: mail@jhellings.nl
Subject: Re: [std-proposals] Proposing Mixed Template Parameter Packs [initial discussion]


I'm planning to bring updates to the universal template parameters paper to ewg soonish because it would be highly advantageous to have them for the cpo paper.


You are welcome to participate in shaping that paper, there are many semantic issues to figure out independent of syntax.




On Fri, Feb 18, 2022, 20:56 mail--- via Std-Proposals <std-proposals@lists.isocpp.org> wrote:

Dear all,

I have been running into limitations with respect to template parameters,
which prevents me from writing some general-purpose helpers (e.g., for use
in ensuring type safety and in template meta-programming). To address these
limitations, I have worked out a small proposal for the addition of ``mixed
template parameter packs'' to the language.

I have attached an initial draft of this feature  and I welcome any input
(e.g., whether there is demand for the feature and any comments) before I
pursue further formalization of this feature and proposing it for inclusion
in the standard.

Below is the abstract of my proposal:
We propose the addition of mixed template parameter packs as an option for
parameter lists in template declarations. These mixed template parameter
packs represent zero-or-more template parameters of unknown kinds and can
represent any combination of type, non-type, and template template

The motivating use case for mixed template parameter packs is the definition
of general-purpose concepts that hold only for a given class template X,
this independent of the kind of template parameters X requires. Furthermore,
we show that mixed template parameter packs provide a general-purpose
strengthening of the already-excellent template meta-programming facilities
provided by C++.

With kind regards,
Jelle Hellings
Std-Proposals mailing list