On Thursday, 19 February 2015 at 08:24:08 UTC, Jonathan Marler
wrote:
I am having a heck of a time trying to figure out how to do
this.
How do I change the attributes of a function based on the
version without copying the function body? For example:
version(StaticVersion) {
static void myLongFunction()
{
// long body ...
}
} else {
void myLongFunction()
{
// same long body copied...
}
}
In one version I want the function to be static and in another
I don't want it to be static. I cannot figure out how to do
this without copy/pasting the entire function body to both
versions.
Same problem is seen with "shared" and "non-shared" class methods
as well. I hope there is a good solution for it.
If it was C, by using #ifdef #else #endif, just the name line of
function could be changed, but I am not sure whether that works
with "version()" expression.