Parameterized aliases
monarch_dodra
monarchdodra at gmail.com
Mon Aug 12 14:10:58 PDT 2013
On Monday, 12 August 2013 at 20:06:16 UTC, Piotr Szturmaj wrote:
> Hi D community!
>
> What do you think of such templated aliases:
>
> template SomeTemplate(T1, T2) { }
>
> alias Partial(T) = SomeTemplate!(int, T);
>
> alias Specialized = Partial!float; // equivalent to
> SomeTemplate!(int, float)
>
> I think they could be pretty helpful and they should be
> relatively easy to implement.
That's just been implemented actually. Try it on DMD head :)
I think they are actually called "template shorthand" or
something, but yeah, it is basically parameterized aliases (also
works with enums)
import std.typetuple;
alias Foo (U, T) = TypeTuple!(U, T);
alias FooInt(T) = Foo!(int, T);
void main()
{
alias UT = FooInt!(uint);
}
More information about the Digitalmars-d
mailing list