"Nick Sabalausky" <[email protected]> wrote in message news:[email protected]... > ------------- > // Something along these lines... > template generateEnum(char[] name, values...) > { > const char[] generateEnum = "enum "~name~"{"~/*values*/~"}"~ > "char[] enumToString("~name~" arg) { "~/*big switch(arg) > here*/~"}"; > } > mixin(generateEnum!("Shape", "Square", "Circle", "Triangle")); > Shape s = Shape.Triangle; > Stdout.formatln("{}", enumToString (s)); > ------------- >
Ok, so apparently D2 phobos already has this in std.typecons (saw that in a reply over at ".D.learn"), but the main point of my post still remains. That point being, it looks terrible and annotations could make it (and anything similar) look not-terrible.
