Conditional Compilation Multiple Versions

anonymous via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jun 13 06:49:49 PDT 2015


On Saturday, 13 June 2015 at 00:47:37 UTC, Mike Parker wrote:
> // config.d
> version(One) enum One = true;
> else enum One = false;
>
> version(Two) enum Two = true;
> else enum Two = false;
>
> // other.d
> import config;
> static if(One || Two) {
>     ...
> }

Taking it one step further:

template Version(string name)
{
     mixin("
         version("~name~") enum Version = true;
         else enum Version = false;
     ");
}

static if(Version!"One" || Version!"Two")
{
     ...
}



More information about the Digitalmars-d-learn mailing list