Sorry, I just love templates, AAs and mixins :)

Ary Borenszweig ary at esperanto.org.ar
Sat Oct 17 00:33:15 PDT 2009


Saaa wrote:
> public void addToAA(char[] var_name, KT, ET)(KT key, ET element)
> {
>   mixin(ET.stringof~`[]* elements = key in `~var_name~`;`);
>   if( elements == null )
>   {
>     ET[] temp;
>     temp.length = 1;
>     temp[0] = element;
>     mixin(var_name~`[key] = temp;`);

Why `key`? Where's `key` defined?

>   }
>   else
>   {
>     (*elements).length = (*elements).length + 1;
>     (*elements)[(*elements).length-1] = element;

I don't understand this. Key is not used.

>   }
> } 

And how do you use it? I tried to but I failed. Also passing a string as 
var_name is not nice. Isn't it better to write something like:

char[int] x;
x.add(1, 'h');

?


More information about the Digitalmars-d-learn mailing list