On Saturday, 12 January 2013 at 19:06:27 UTC, Maxim Fomin wrote:
On Saturday, 12 January 2013 at 18:17:47 UTC, Zhenya wrote:
Hi!
Tell me please,is there any way to pass member-function to
template?
Probably this can help: (you can manually construct a delegate
combining function and context pointers)
import std.stdio;
template execute(alias func)
{
void execute(void* ptr)
{
void delegate() dg;
dg.funcptr = &func;
dg.ptr = ptr;
dg();
}
}
struct Foo
{
void nothing()
{
writeln("reached");
}
}
void main()
{
Foo f;
execute!(Foo.nothing)(&f);
}
Thank you,it really can help me.
But I would like to handle not only member-function,but global
function too(by UFCS) if it's possible.