Passing member-function to template

2013-01-12 Thread Zhenya
Hi! Tell me please,is there any way to pass member-function to template? I need something like that: template execute(alias obj,alias mfun) { void execute() { obj.mfun(); } } struct Foo { void nothing() { } } void main() { Foo f;

Re: Passing member-function to template

2013-01-12 Thread Maxim Fomin
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) {

Re: Passing member-function to template

2013-01-12 Thread Zhenya
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

Re: Passing member-function to template

2013-01-12 Thread Maxim Fomin
On Saturday, 12 January 2013 at 19:16:02 UTC, Zhenya wrote: But I would like to handle not only member-function,but global function too(by UFCS) if it's possible. Global functions rewritten as UFCS functions are not delegates, they are still functions, so they can be handled just as other

Re: Passing member-function to template

2013-01-12 Thread Zhenya
On Saturday, 12 January 2013 at 19:24:04 UTC, Maxim Fomin wrote: On Saturday, 12 January 2013 at 19:16:02 UTC, Zhenya wrote: But I would like to handle not only member-function,but global function too(by UFCS) if it's possible. Global functions rewritten as UFCS functions are not delegates,