Re: How can you call a stored function in an AA with proper number of arguments converted to the proper type?

2016-07-12 Thread Zekereth via Digitalmars-d-learn
On Tuesday, 12 July 2016 at 08:34:03 UTC, Kagamin wrote: Store a wrapper instead of the actual function: void wrapper(alias F)(string[] args) { (convert args to F arguments) and invoke } cmd.func = &wrapper!someFunc; string[] args; cmd.func(args); Thanks that is clever. Never would have tho

Re: How can you call a stored function in an AA with proper number of arguments converted to the proper type?

2016-07-12 Thread Kagamin via Digitalmars-d-learn
Store a wrapper instead of the actual function: void wrapper(alias F)(string[] args) { (convert args to F arguments) and invoke } cmd.func = &wrapper!someFunc; string[] args; cmd.func(args);

How can you call a stored function in an AA with proper number of arguments converted to the proper type?

2016-07-11 Thread Zekereth via Digitalmars-d-learn
Here's the basic code I'm playing with: struct MyCmd { Variant func; // Has other members. } MyCmd[string] functions_; void addCommand(T)(const string name, T func) { MyCmd cmd; cmd.func = Variant(func); functions_[name] = cmd; } void process(string[] a