Date: Sat, 20 Feb 2021 14:00:43 -0500
On Sat, Feb 20, 2021 at 11:32 AM Arthur O'Dwyer via Std-Proposals
<std-proposals_at_[hidden]> wrote:
>
> By the way, another fantasy feature that would solve your problem is
> if a metafunction could return a first-class pack. Then you could
> write something like
>
> template<class F> receiver(F&&) -> receiver<
> detail::corresponding_template_args<receiver, F>... >;
>
> But of course that doesn't help you today.
I'm not sure how "fantasy" that is, as there have been a number of
proposals batted around about storing parameter packs and unpacking
them. It's difficult to track the status of proposals these days, but
P1858 is being discussed in EWG at present, and P2277 is probably a
better overview of where things currently stand.
In any case, if you can store packs more arbitrarily, such as in a
template type alias or something, then it should be easy enough to
have a metafunction that returns a pack given a set of template
parameters. And therefore, we wouldn't need a language change for this
feature; you just do what you said above.
<std-proposals_at_[hidden]> wrote:
>
> By the way, another fantasy feature that would solve your problem is
> if a metafunction could return a first-class pack. Then you could
> write something like
>
> template<class F> receiver(F&&) -> receiver<
> detail::corresponding_template_args<receiver, F>... >;
>
> But of course that doesn't help you today.
I'm not sure how "fantasy" that is, as there have been a number of
proposals batted around about storing parameter packs and unpacking
them. It's difficult to track the status of proposals these days, but
P1858 is being discussed in EWG at present, and P2277 is probably a
better overview of where things currently stand.
In any case, if you can store packs more arbitrarily, such as in a
template type alias or something, then it should be easy enough to
have a metafunction that returns a pack given a set of template
parameters. And therefore, we wouldn't need a language change for this
feature; you just do what you said above.
Received on 2021-02-20 13:00:58