enhancing enums

Nick Sabalausky a at a.a
Tue Dec 8 16:41:55 PST 2009


"Bill Baxter" <wbaxter at gmail.com> wrote in message 
news:mailman.581.1260313623.20261.digitalmars-d at puremagic.com...
>On Tue, Dec 8, 2009 at 2:17 PM, hehe45 <a3161739 at uggsrock.com> wrote:
>> In c++ it is valid syntax to have trailing commas at the and of enum 
>> definitions:
>> enum {a, b, c, };
>> This would be a useful addition to D too.
>>
>> The enum class syntax from c++0x should also adopted by D, this would 
>> allow named enums which are >not automatically encased by a namespace:
>>
>> enum EnumName {A, B, C}; ---> A, B and C are global constants
>> enum class EnumName {A, B, C};---> A, B and C are in the EnumName 
>> namespace
>>
>
>That's basically what it is now:
>
>enum { A,B,C }  --> A,B,C global

The difference though is that doesn't make A, B and C part of a new type. 
Personally, I'm fine with that though (well, except for the whole "let's 
pretend manifest constants are an 'enum'" absurdity), because I *hate* enums 
that pollute the namespace with their members.






More information about the Digitalmars-d mailing list