Introspection/Reflection/etc on Linux
J Arrizza
cppgent0 at gmail.com
Sun Oct 23 06:32:06 PDT 2011
A template would be ideal. I looked at mixin templates and mixins too. But I
could not see a way to do this.
The idea here was to create a base class which would have a function called
register(). Register would take the function name (or function pointer), and
create a delegate at compile time. register() would add the delegate and
the function name as a string into the hash. At runtime, I pass in the
string, get the delegate and invoke the function.
So I need both the function name as a symbol (to create the delegate) and
the function name as a string. In c/c++ I'd use the preprocessor to convert
the symbol to a string via "#" (stringify).
If D doesn't have the equivalent, the callers will have to do:
register(bob, "bob");
granted not too terrible, but a pain nonetheless.
John
On Sat, Oct 22, 2011 at 8:45 PM, Robert Jacques <sandford at jhu.edu> wrote:
> On Sat, 22 Oct 2011 21:17:09 -0400, J Arrizza <cppgent0 at gmail.com> wrote:
>
> This would be easier with "stringify":
>> register(bob, #bob);
>>
>> Anything like that in D?
>>
>> John
>>
>
> What do you mean by "stringify"? Wouldn't register!bob be superior?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111023/ed7c6360/attachment.html>
More information about the Digitalmars-d
mailing list