<div dir="auto">See P1985, which uses &quot;template auto T&quot; as a template paramater of arbitrary kind. I wish there was a good non-auto-related syntax for this, but I have no idea what that would be and this one is certainly sensible. <div dir="auto"><br></div><div dir="auto"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1985r1.pdf">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1985r1.pdf</a><div dir="auto"><br></div><div dir="auto">Barry</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 18, 2022, 2:56 PM mail--- via Std-Proposals &lt;<a href="mailto:std-proposals@lists.isocpp.org">std-proposals@lists.isocpp.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear all,<br>
<br>
I have been running into limitations with respect to template parameters,<br>
which prevents me from writing some general-purpose helpers (e.g., for use<br>
in ensuring type safety and in template meta-programming). To address these<br>
limitations, I have worked out a small proposal for the addition of ``mixed<br>
template parameter packs&#39;&#39; to the language.<br>
<br>
I have attached an initial draft of this feature  and I welcome any input<br>
(e.g., whether there is demand for the feature and any comments) before I<br>
pursue further formalization of this feature and proposing it for inclusion<br>
in the standard.<br>
<br>
Below is the abstract of my proposal:<br>
We propose the addition of mixed template parameter packs as an option for<br>
parameter lists in template declarations. These mixed template parameter<br>
packs represent zero-or-more template parameters of unknown kinds and can<br>
represent any combination of type, non-type, and template template<br>
parameters.<br>
<br>
The motivating use case for mixed template parameter packs is the definition<br>
of general-purpose concepts that hold only for a given class template X,<br>
this independent of the kind of template parameters X requires. Furthermore,<br>
we show that mixed template parameter packs provide a general-purpose<br>
strengthening of the already-excellent template meta-programming facilities<br>
provided by C++.<br>
<br>
With kind regards,<br>
Jelle Hellings<br>
-- <br>
Std-Proposals mailing list<br>
<a href="mailto:Std-Proposals@lists.isocpp.org" target="_blank" rel="noreferrer">Std-Proposals@lists.isocpp.org</a><br>
<a href="https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals" rel="noreferrer noreferrer" target="_blank">https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals</a><br>
</blockquote></div>

