Philippe Sigaud wrote: > String mixins are quite powerful, if a bit clunky at times.
Both true, for what I'm seeing of them. > See also __traits(getMember, ...) > http://digitalmars.com/d/2.0/traits.html (look for getMember) Nice, with getMembers I could redesign again my test code for using objects instead of a virtual function, but I'll keep the current design because is simpler for me (I'm still adapting my brain to all this genericity). On my current implementation with functions I still have a doubt: I'm using template-functions like this one for my callbacks: void somefunc(T...) (string regex, T args...) { foreach (arg; args) { writeln(arg); } } Then, I write the "selector" for it (in other part of the program) like this: auto t = tuple("someregex", &(module.somefunc!(int, double)),tuple(2,3.14)); And then in a third module, I get those selectors and bind them to the functions like: auto selectable = t.field[1]; selectable(t.field[0], t.field[2].expand); // Called! With your help, this works like a charm. But sometimes there will be no variable arguments to "somefunc" (only the first string), and in that case I don't know what would be the correct syntax to specify that the variable number of arguments will have no args, both for the template instantiation and for the tuple: auto t = tuple("bla", &(module.somefunc!(void), tuple(void)); // Fails auto t = tuple("bla", &(module.somefunc!(void, Tuple!(void)()); // Fails too > Yes, typecons.Tuple has lot of nifty things going for it, but there are > not all documented. > You can open a bug/enhancement request at http://d.puremagic.com/issues/ I'll do it. I guess currently most of you here check the source before the documentation since the former looks to be pretty outdated sometimes.
