Regan Heath:
> I find being able to define bit flag values with an enum and combine 
> them using | and |= or negate with &= ~flag etc very useful.

The cause of the problem here is that you are trying to use enums for a 
different purpose, as composable flags. In C# enums and flags are not the same 
thing, you can use the [Flags] attribute:
http://www.codeguru.com/vb/sample_chapter/article.php/c12963
The ridiculous thing of D development is that no one ever takes a look at C#, 
it often already contains a solution to problems we are just starting to find 
in D (or often that we just refuse to see in D). As they say: "Those who cannot 
learn from C# are doomed to re-invent it, often badly."

(In D you can solve this problem creating a flags struct, using a strategy 
similar to the one used by std.bitmanip.bitfields, but it feels hackish).

Bye,
bearophile

Reply via email to