UDAs on enum members

Basile B. via Digitalmars-d digitalmars-d at puremagic.com
Mon Jul 18 03:17:55 PDT 2016


On Sunday, 17 July 2016 at 20:51:42 UTC, Walter Bright wrote:
> On 7/13/2016 4:57 AM, Tomer Filiba wrote:
> struct MyEnum {
>     @("SOM") enum SomeMember = 0;
>     @("ANO") enum AnotherMemberWithAVeryLongName = 1;
>
>     string dump() {
>         ...  // `this` is a value, not a ref here
>     }
>     static MyEnum load(string name) {
>         ...
>     }
> }
>
> Not as nice, but gets the job done. But adding a new aggregate 
> type comes with a lot of baggage. I'm not convinced the 
> complexity is worth the benefit, which seems minor.

With a union it's ok, see the sugestion here

https://forum.dlang.org/post/kmqmqxskccaceurutgzq@forum.dlang.org

members are not part of the aggregate. The size is then just 
equal to the common type, used as variable to make bit op like 
with a regular enum.

I mean that the OP is asking for a really minor feature while he 
could solve the problem himself, in case he really needs it.


More information about the Digitalmars-d mailing list