July 29, 2013 untuple a tuple | ||||
---|---|---|---|---|
| ||||
if I have something like template t(args...) { pragma(msg, args); } it prints out args in a tuple... e.g., tuple!(...) I do not want it to print out the tuple!(). I can write my own pragma and pass each arg to it (e.g., pragma(msg, arg[0], arg[1], ...)) but this is not very general and requires a lot of static if's (one for each possible n). Is it possible to "untuple"? |
July 29, 2013 Re: untuple a tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to JS | On Monday, 29 July 2013 at 16:57:49 UTC, JS wrote:
> if I have something like
>
> template t(args...)
> {
> pragma(msg, args);
> }
>
> it prints out args in a tuple... e.g.,
>
> tuple!(...)
>
> I do not want it to print out the tuple!().
>
> I can write my own pragma and pass each arg to it (e.g., pragma(msg, arg[0], arg[1], ...)) but this is not very general and requires a lot of static if's (one for each possible n).
>
>
> Is it possible to "untuple"?
template t(args...)
{
pragma(msg, args);
}
void main()
{
alias f = t!(int, double, string);
}
Prints `(int, double, string)` for me, with no `tuple!` part. However, putting it in a template means you need an alias, so it's probably better to make it a function instead.
void t(args...)()
{
pragma(msg, args);
}
void main()
{
t!(int, double, string);
}
|
Copyright © 1999-2021 by the D Language Foundation