alias template parameter

QAston via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jan 23 18:24:44 PST 2016


On Friday, 21 June 2013 at 14:08:43 UTC, Sergei Nosov wrote:
> Hi!
>
> I've been thinking about how alias template parameters work and 
> I'm really confused =)
>
> It makes perfect sense for literals, names, etc. But what I 
> can't get is how does it work for delegates.
>
> If I have a function
> auto apply(alias fun, T...)(T args)
> {
>     return fun(args);
> }
>
> And then I have
> int y = 2;
> apply!(x => y)(1);
>
> How in the world does this work? Is the context address known 
> at compile-time?

y is allocated on the heap and the pointer is implicitly passed 
to the apply, or is a field of a struct if you use map!(x => y) 
instead.


More information about the Digitalmars-d-learn mailing list