Finding class template instantiations via runtime reflection (for openmethods)
doob at me.com
Mon Sep 25 14:17:13 UTC 2017
On 2017-09-21 22:32, Jean-Louis Leroy wrote:
> It did not take long! Someone tried to create templatized open methods
> and it didn't work right of the box. I expected that, but in fact there
> may be a bit of hope. You cannot have virtual function templates in C++
> or in D because the layout of the vtables have to be known at compile
> time - but openmethods creates its method tables at runtime so maybe it
> can be made to work.
> I stumbled upon a problem very quickly: it seems that classes that come
> from class template instantiations are not registered in ModuleInfo -
> see below,
Not sure exactly what you need get access to. But you could try to
inspect the symbol table at runtime, if what you need is available there.
Of course, that's a bit of a PITA, but you would not be dependent on any
bugs getting fixed or new features/improvements implemented.
More information about the Digitalmars-d