New macro $MethodArgs$ is so useful for implementing delegation.
But it has much potential that can make it better.
Its current limitation is that it is all or nothing. No order change, No value modification, etc..
How about this?
$MethodArg1$
$MethodArg2$
$MethodArg3$
$MethodArg4$
...
(or it can be 0-based index)
If there is no 4th argument, then $MethodArg4$ is just empty string.
Supporting this, we can do much more.
void Method(int a, float b, char c)
{
float d = g_SomeHelper.Calculate($MethodArg2$ * 2.0f);
pimpl->MethodImpl($MethodArg1$, $MethodArg3$, d);
}
It looks nice, isn't it?