Create mixins from a list of strings
    Philippe Sigaud 
    philippe.sigaud at gmail.com
       
    Sat Jan 11 01:17:23 PST 2014
    
    
  
Maybe you could use just one name and put the dispatching code inside it?
T actor(T)(T t)
{
    switch (t.name)
    {
        case "Gramm.Expr":
            return foo(t);
        case "Gramm.FunctionCall":
            return foo(t);
        case "Gramm.Declaration":
            return foo(t);
        default:
            throw new Exception("...");
    }
}
or do it with a template, holding function names as aliases:
alias actor = dispatcher!(foo, bar, baz);
    
    
More information about the Digitalmars-d-learn
mailing list