Neater enum + version

Jacob Carlborg doob at me.com
Sun Nov 18 19:30:29 UTC 2018


On 2018-11-18 18:52, Neia Neutuladh wrote:
> On Sun, 18 Nov 2018 17:47:07 +0000, Vladimirs Nordholm wrote:
>> Is there anyway to make it "neater"? Maybe something in one line:
>>
>>       enum foo = version (Posix) { "posix" } : { "other" } ;
> 
> If you're doing it often:
> 
> T ifPosix(T)(T a, T b)
> {
>    version (Posix) return a; else return b;
> }
> enum foo = ifPosix("posix", "other");
> 
> If it's a one-off thing, though, there's not much you can do.

This can be generalized by passing in the version identifier as a string 
and do a string mixin.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list