-
Book Overview & Buying
-
Table Of Contents
D Cookbook
By :
To dig into an aggregate, the first step is to get a list of members. Then, we'll be able to look at each individual member and dig as deeply as we need to.
Let's execute the following steps to get a list of all methods or fields in a module or object:
Get a reference to the aggregate. For a struct, class, or enum type, you may use its name directly (or if it is passed to a template, the corresponding template parameter). To get a reference to a module, use mixin("yourmodule.name").
Get a list of the names of all members with __traits(allMembers).
Retrieve the member with __traits(getMember). Use a helper template in the form of alias helper(alias T) = T; and an alias member in the loop to make referring to the member easier.
Using static if and the is expression, filter out any types: static if(is(member)) { /* type */ }.
Then, check for functions with the is expression on typeof(member): else static if(is(typeof(member...
Change the font size
Change margin width
Change background colour