Whether or not to also include Unserialisable members.
Variadic list of aggregates to introspect.
import std.algorithm.comparison : max; struct S1 { string someString; int someInt; string[] aaa; } struct S2 { string longerString; int i; } alias widths = Widths!(No.all, S1, S2); static assert(widths.type == max(minimumTypeWidth, "string[]".length)); static assert(widths.name == max(minimumNameWidth, "longerString".length));
Calculates the minimum padding needed to accommodate the strings of all the types and names of the members of the passed struct and/or classes, for formatting into neat columns.