2
3
4
5
6
7
8
9
10
11
16#include "../../strings/gimbal_quark.h"
19
20
21
27
28
29
30#define GBL_ENUM_ENTRY(enumValue, nick) { enumValue, #enumValue, nick }
31#define GBL_ENUM_ENTRY_LAST() { 0
, NULL
, NULL
}
34#define GBL_SELF_TYPE GblEnumClass
46
47
48
49
50
51
52
61
62
63
64
72
73
74
75
83
84
85
86
101
102
103
111
112
113
125#define GBL_ENUM(name, ...) GBL_ENUM_(name, __VA_ARGS__)
127#define GBL_ENUM_ENTRY_(name, ...)
128 GBL_ENUM_ENTRY(__VA_ARGS__)
130#define GBL_ENUM_(name, ...)
131 GBL_DECLARE_ENUM(name) {
132 GBL_TUPLE_FOREACH(GBL_ENUM_ENTRY_, name, __VA_ARGS__)
133 GBL_ENUM_ENTRY_LAST()
#define GBL_CLASS_CAST(cType, klass)
#define GBL_TYPEID(instanceStruct)
#define GBL_CLASS_DERIVE(...)
uint32_t GblEnum
Standard-sized enum type, 32-bits across platforms.
uint8_t GblBool
Basic boolean type, standardized to sizeof(char)
uintptr_t GblQuark
Uniquely identifiable interned string type.
GblEnum valueMin
Cached minimum value of the enum (used for validation)
GblEnum valueMax
Cached maximum value of the enum (used for validation)
uint16_t entryCount
Cached number of values in the entry table.
Attributes for a single value of an enumeration.
GblEnum value
Value of the enumeration.
const char * pName
String name of the enumeration value.
const char * pNick
Alternate name of the enumeration value.