On Wednesday, 13 March 2024 at 10:27:49 UTC, Basile B. wrote:
The semantics of the operators are actually not as clear as that. What if you define

```d
enum Direction
{
    N = 1, NE, S = 45, SW
}
```

?

Certainly! EnumMembers; can be used. The EnumMembers template from the std.traits module is used to retrieve all the members of an enumeration. It generates a tuple containing all the enumeration values, which can be iterated over using a foreach loop. In the D programming language, you can use EnumMembers to iterate over enum values at compile time, which is useful for generating code based on enum members.
Here’s a simple code example:

```d
 enum Days
 {
   Monday    = 1001,
   Tuesday   = 1010,
   Wednesday = 1011,
   Thursday  = 1100,
   Friday    = 1101,
   Saturday  = 1110,
   Sunday    = 1111
 }

 import std.traits : EnumMembers;
 foreach(day; EnumMembers!Days)
   day.writeln(":", cast(int)day);
```

SDB@79
      • Re: Cha... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
        • Re:... Liam McGillivray via Digitalmars-d-learn
          • ... Basile B. via Digitalmars-d-learn
            • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
              • ... Basile B. via Digitalmars-d-learn
          • ... H. S. Teoh via Digitalmars-d-learn
          • ... Liam McGillivray via Digitalmars-d-learn
            • ... H. S. Teoh via Digitalmars-d-learn
  • Re: Challenge: M... Salih Dincer via Digitalmars-d-learn
  • Re: Challenge: M... Basile B. via Digitalmars-d-learn
    • Re: Challen... Salih Dincer via Digitalmars-d-learn
  • Re: Challenge: M... Daniel N via Digitalmars-d-learn
    • Re: Challen... Liam McGillivray via Digitalmars-d-learn
      • Re: Cha... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn

Reply via email to