enum Elements { One, Two, Three, Four, FifthElement, ELEMENT_FIVE, ElementWith_Separation, E1emen7Number, E1emen7number, } mixin(expandEnumUpper!Elements); /// Is going to be turned into enum { ONE = Elements.One, TWO = Elements.Two, THREE = Elements.Three, FOUR = Elements.Four FIFTH_ELEMENT = Elements.FifthElement, ELEMENT_FIVE = Elements.ELEMENT_FIVE, ELEMENT_WITH_SEPARATION = Elements.ElementWith_Separation, E1EMEN7_NUMBER = Elements.E1emen7Number, E1EMEN7NUMBER = Elements.E1emen7number, } /// And can be used as single value void main() { import std.stdio; /// Both are valid writeln(One); writeln(Elements.One); }
Expands enum into single members, transforms members to CAMEL_CASE with "_" on case change, see example