a string containing the definition of an enum named name and with enumerator names given by Es, optionally prepended with prefix and appended with suffix.
TODO Move to Phobos std.typecons
import std.meta : AliasSeq; struct E(T) { T x; } alias Types = AliasSeq!(byte, short, int*, E!int*); alias Type = makeEnumFromSymbolNames!(`_`, `_`, true, false, Types); static assert(is(Type == enum)); static assert(Type.undefined.stringof == `undefined`); static assert(Type._byte_.stringof == `_byte_`); static assert(Type._short_.stringof == `_short_`); static assert(Type._intPtr_.stringof == `_intPtr_`); static assert(Type._EPtr_.stringof == `_EPtr_`);
import std.meta : AliasSeq; struct E(T) { T x; } alias Types = AliasSeq!(byte, short, int*, E!int*); alias Type = makeEnumFromSymbolNames!(`_`, `_`, true, true, Types); static assert(is(Type == enum)); static assert(Type.undefined.stringof == `undefined`); static assert(Type._g_.stringof == `_g_`); static assert(Type._s_.stringof == `_s_`); static assert(Type._Pi_.stringof == `_Pi_`);