kamm@772: alias char[] string; kamm@772: template Unstatic(T) { alias T Unstatic; } kamm@772: template Unstatic(T: T[]) { alias T[] Unstatic; } kamm@772: template StupleMembers(T...) { kamm@772: static if (T.length) { kamm@772: const int id=T[0..$-1].length; kamm@772: const string str=StupleMembers!(T[0..$-1]).str~"Unstatic!(T["~id.stringof~"]) _"~id.stringof~"; "; kamm@772: } else const string str=""; kamm@772: } kamm@772: kamm@772: struct Stuple(T...) { kamm@772: mixin(StupleMembers!(T).str); kamm@772: } kamm@772: Stuple!(string, void delegate(float)) foo;