Generate a C++ function for EnumValues{{ENUM_NAME}} (#4337)

* enables "for each" logic on enumeration types
This commit is contained in:
rufeooo
2017-06-07 13:49:56 -07:00
committed by Wouter van Oortmerssen
parent 01c50d57a6
commit dadd1a926e
6 changed files with 77 additions and 1 deletions

View File

@@ -25,6 +25,15 @@ enum Color {
Color_MAX = Color_Blue
};
inline Color (&EnumValuesColor())[3] {
static Color values[] = {
Color_Red,
Color_Green,
Color_Blue
};
return values;
}
inline const char **EnumNamesColor() {
static const char *names[] = {
"Red",
@@ -47,6 +56,14 @@ enum Equipment {
Equipment_MAX = Equipment_Weapon
};
inline Equipment (&EnumValuesEquipment())[2] {
static Equipment values[] = {
Equipment_NONE,
Equipment_Weapon
};
return values;
}
inline const char **EnumNamesEquipment() {
static const char *names[] = {
"NONE",