Complex Object Generation with Templates/Mixins
    Chris Williams 
    littleratblue at yahoo.co.jp
       
    Tue Jun  2 11:01:41 PDT 2009
    
    
  
Jarrett Billingsley Wrote:
> You'll be happy to know that your code compiles and works with very
> little modification.
> 
> char[] ClassGen(char[] className, char[][][] classMembers) {
>   char[] ret = "class " ~ className ~ " {";
>   foreach(member; classMembers)
>      ret ~= member[0] ~ " " ~ member[1] ~ ";";
> 
>   return ret ~ "}";
> }
> 
> mixin(
>   ClassGen(
>      "Foo",
>      [
>         ["int", "bar"],
>         ["int", "baz"]
>      ]
>   )
> );
> 
> You can't use for loops in templates, so instead you have to use
> recursion.  In this case, however, a CTFE function is much terser.
Wonderful. Thank you.
    
    
More information about the Digitalmars-d
mailing list