DIP8: Templating ClassInfo and TypeInfo

grauzone none at example.net
Mon Nov 2 19:55:37 PST 2009


dsimcha wrote:
> http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP8
> 
> Abstract:
> 
> Currently, the layout of D's runtime type info, or RTTI, is defined in
> object.d. The details of how the fields of each instantiation of these classes
> are populated are buried deep inside the compiler. If ClassInfo and TypeInfo
> were instead template classes inheriting from some non-templated abstract base
> class that defined the interface and field layout, any compile-time
> introspection feature could trivially be added to RTTI and made available at
> runtime.

I'd say it's a good idea. We have all this crap like TypeInfo.init, 
TypeInfo.equals/compare/hash for which there's separate implementations 
for each type (like TypeInfo_f in ti_float.d; repeat for each type). 
With templated TypeInfos, all these could be trivially provided by the 
same code.



More information about the Digitalmars-d mailing list