Improving version(...)
Tomek Sowiński
just at ask.me
Mon Oct 18 12:42:20 PDT 2010
Dnia 18-10-2010 o 18:15:47 F. Almeida <francisco.m.almeida at gmail.com>
napisał(a):
> The version() { ... } blocks would greatly improve from support of
> boolean operators, which would make code much more readable.
>
> Let us assume, for example, that I have several version identifiers
> (VERSION1, VERSION2, VERSION3, VERSION4, etc.) and that a block of
> code may be compiled in the cases of VERSION1 or VERSION3. It would
> prove the simplest if one could simply use boolean operators to
> express combinations of valid versions and thus be able to do
>
>
> version(VERSION1 || VERSION3)
> {
> // ...
> }
You can have it now:
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.
--
Tomek
More information about the Digitalmars-d
mailing list