On 10/18/2010 13:42, Tomek Sowiński wrote:
> template isVersion(string ver) {
>     enum bool isVersion = !is(typeof({
>           mixin("version(" ~ ver ~") static assert(0);");
>     }));
> }
> 
> static if (isVersion"VERSION1" || isVersion!"VERSION3") {
>     ...
> }
> 
> If you're rushing to reply "That's hideous!", don't bother. I know.

Hideous?  That's beautiful!  It lets me pretend that the ugly,
restrictive, pointless "version" construct in the language didn't exist,
while still reaping the benefits of the version construct.  If I ever
write a style guide for D, it will forbid the direct use of 'version'
and require that 'isVersion' be used instead.


-- 
Rainer Deyke - rain...@eldwood.com

Reply via email to