On Friday, 26 June 2015 at 16:57:14 UTC, Charles Hawkins wrote:
Sorry for talking to myself, but I'm hoping someone will help me out. The above idea doesn't work. It appears that only the main program file is going to have function pointers while modules and classes will have delegates. So, does a library that uses callbacks need 2 callback register functions as well as parallel storage mechanisms, or is there a fairly simple way to make it polymorphic? I was hoping a newbie would be able to use this library, but not many newbies are going to understand this. I suppose I could tell them to call registerFunction and if they get a compiler error, then call registerDelegate? Or am I missing something?

I don't fully understand what you're doing, but functions can easily be turned into delegates using std.functional.toDelegate [1]:

    import std.functional : toDelegate;
    registerDelegate((&topLevelFunction).toDelegate);

[1] http://dlang.org/phobos/std_functional.html#.toDelegate

Reply via email to