2
3
4
5
6
7
12#include "../../strings/gimbal_quark.h"
15
16
17
18#define GBL_FLAGS_TYPE (GblFlags_type())
23
24
25
26#define GBL_FLAGS_ENTRY(flagsValue, nick) { flagsValue, #flagsValue, nick }
27#define GBL_FLAGS_ENTRY_LAST() { 0
, NULL
, NULL
}
30#define GBL_SELF_TYPE GblFlagsClass
42
43
44
45
46
47
48
56
57
58
59
67
68
69
70
78
79
80
81
102
103
104
113
114
115
#define GBL_CLASS_CAST(cType, klass)
#define GBL_CLASS_DERIVE(...)
uint32_t GblFlags
Standard-sized flags type, 32-bits across platforms.
uint8_t GblBool
Basic boolean type, standardized to sizeof(char)
uintptr_t GblQuark
Uniquely identifiable interned string type.
Attributes for a single bit flag value within a group of GblFlag values.
const char * pName
String name of the flag value.
GblFlags value
Value of the flag.
const char * pNick
Alternat ename of the flag value.
GblFlags valueMask
Mask of all bits which can be set within the value.
uint16_t entryCount
Cached number of values in the entry table.