QUESTION: Note that implicit int is banned from ISO standard C++. Much code uses it however. Do we want to support it
Might need separate macro for VOID type...or use a #IF
statement?
inlined:
return_type FunctionName(int i, char* x = 0) { // stuff }
becomes
return_type FunctionName(int i, char* x = 0) { REDIRECT_MEMBER_FN_2(FunctionName,return_type,int,i,char*, x) // stuff }
NOTE: no additional arguments to function given as this does not allow operators to be dealt with equivalently.
calls to the function are
X -> FunctionName(i,x);
if synchronous or
_async(X -> FunctionName(i,x));
if asynchronous