## Aurora Enum [TODO] ## Example ### Include ```c++ using AuString = std::string; // Applications in the Aurora ecosystem do not need this line #include ``` ### Example ```c++ #define AUE_DEFINE(name, enumerations) AUE_DEFINE(EMyTestEnum, ( eValueA, eValueB, eValueC, eValueD )); static void TestAUE() { EMyTestEnum referenceValue = EMyTestEnum::eValueB; // Convert the index to a string safely O(1) const AuString &string = EMyTestEnumToString(referenceValue); // Lookup O(n) EMyTestEnum backAgain = EMyTestEnumFromString(string); // Lookup using a hash table EMyTestEnum fromHashTable = EMyTestEnumFromHashString(string); // Assert SysAssert(backAgain == referenceValue); SysAssert(fromHashTable == referenceValue); // And iteration for fun EMyTestEnumForEach([](EMyTestEnum e) { LogDbg(EMyTestEnumToString(e)); }); } ``` ## Dependencies * [AuroraForEach](https://git.reece.sx/AuroraSupport/AuroraForEach) [header only]