-
Book Overview & Buying
-
Table Of Contents
D Cookbook
By :
D's built-in TypeInfo doesn't provide nearly as much information as we can get from the compile-time reflection tools. Here, we'll create an extended type info with custom data.
Let's execute the following steps to extend the runtime type information:
Create an interface with methods exposing the information you want to make available at runtime.
If your method works with the data, remember that RTTI is typically used with very little compile-time type information. Thus, methods should take a generic runtime type, such as Object or void* in the generic interface.
Create an associative array of your interface keyed on TypeInfo.
Write helper functions to retrieve the information from the associative array. Use typeid() to get the lookup key from a given variable or type.
Write a template class that will implement your generic interface for each supported type. The std.traits Phobos module will help with our implementation.
Write a mixin template...
Change the font size
Change margin width
Change background colour