On Monday, 15 June 2015 at 18:30:55 UTC, Steven Schveighoffer
wrote:
On 6/15/15 2:10 PM, Yuxuan Shui wrote:
I have a template class which is derived from a base class. Is
it
possible to extract the template parameter from a reference to
the base
class?
No. You can't get compile-time information at runtime, unless
you have stored it somewhere that runtime can read.
But perhaps you can further describe your requirement, and a
solution might be available.
-Steve
Well I don't have a serious use case of this. I just started
using D couple of weeks ago, and is now experimenting with it by
writing a toy compiler.
What I'm doing is I'm abusing the D type system to represent
types in my toy language. I store type information into template
parameters, and when I need to type check, I just use typeid and
compare the result. Now I want to generate different code when I
encounter different types, and for that I want to get the
template parameters.
Of course if this is not possible I can always go back to
implement my own type system properly. It's just a good thing to
have.