untuple a tuple

Meta jared771 at gmail.com
Mon Jul 29 10:20:48 PDT 2013


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);
}


More information about the Digitalmars-d-learn mailing list