GM6000 Digital Heater Controller Branch: main
SDX-1330
enum_macros_128_32_.h
1
2// This file was automatically generated by make_macros.py
3
4#pragma once
5
6#ifndef BETTER_ENUMS_MACRO_FILE_H
7#define BETTER_ENUMS_MACRO_FILE_H
8
9#ifndef DOXYGEN_WILL_SKIP_THIS
10
11#define BETTER_ENUMS_PP_MAP(macro, data, ...) \
12 BETTER_ENUMS_ID( \
13 BETTER_ENUMS_APPLY( \
14 BETTER_ENUMS_PP_MAP_VAR_COUNT, \
15 BETTER_ENUMS_PP_COUNT(__VA_ARGS__)) \
16 (macro, data, __VA_ARGS__))
17
18#define BETTER_ENUMS_PP_MAP_VAR_COUNT(count) BETTER_ENUMS_M ## count
19
20#define BETTER_ENUMS_APPLY(macro, ...) BETTER_ENUMS_ID(macro(__VA_ARGS__))
21
22#define BETTER_ENUMS_ID(x) x
23
24#define BETTER_ENUMS_M1(m, d, x) m(d,0,x)
25#define BETTER_ENUMS_M2(m,d,x,...) m(d,1,x) \
26 BETTER_ENUMS_ID(BETTER_ENUMS_M1(m,d,__VA_ARGS__))
27#define BETTER_ENUMS_M3(m,d,x,...) m(d,2,x) \
28 BETTER_ENUMS_ID(BETTER_ENUMS_M2(m,d,__VA_ARGS__))
29#define BETTER_ENUMS_M4(m,d,x,...) m(d,3,x) \
30 BETTER_ENUMS_ID(BETTER_ENUMS_M3(m,d,__VA_ARGS__))
31#define BETTER_ENUMS_M5(m,d,x,...) m(d,4,x) \
32 BETTER_ENUMS_ID(BETTER_ENUMS_M4(m,d,__VA_ARGS__))
33#define BETTER_ENUMS_M6(m,d,x,...) m(d,5,x) \
34 BETTER_ENUMS_ID(BETTER_ENUMS_M5(m,d,__VA_ARGS__))
35#define BETTER_ENUMS_M7(m,d,x,...) m(d,6,x) \
36 BETTER_ENUMS_ID(BETTER_ENUMS_M6(m,d,__VA_ARGS__))
37#define BETTER_ENUMS_M8(m,d,x,...) m(d,7,x) \
38 BETTER_ENUMS_ID(BETTER_ENUMS_M7(m,d,__VA_ARGS__))
39#define BETTER_ENUMS_M9(m,d,x,...) m(d,8,x) \
40 BETTER_ENUMS_ID(BETTER_ENUMS_M8(m,d,__VA_ARGS__))
41#define BETTER_ENUMS_M10(m,d,x,...) m(d,9,x) \
42 BETTER_ENUMS_ID(BETTER_ENUMS_M9(m,d,__VA_ARGS__))
43#define BETTER_ENUMS_M11(m,d,x,...) m(d,10,x) \
44 BETTER_ENUMS_ID(BETTER_ENUMS_M10(m,d,__VA_ARGS__))
45#define BETTER_ENUMS_M12(m,d,x,...) m(d,11,x) \
46 BETTER_ENUMS_ID(BETTER_ENUMS_M11(m,d,__VA_ARGS__))
47#define BETTER_ENUMS_M13(m,d,x,...) m(d,12,x) \
48 BETTER_ENUMS_ID(BETTER_ENUMS_M12(m,d,__VA_ARGS__))
49#define BETTER_ENUMS_M14(m,d,x,...) m(d,13,x) \
50 BETTER_ENUMS_ID(BETTER_ENUMS_M13(m,d,__VA_ARGS__))
51#define BETTER_ENUMS_M15(m,d,x,...) m(d,14,x) \
52 BETTER_ENUMS_ID(BETTER_ENUMS_M14(m,d,__VA_ARGS__))
53#define BETTER_ENUMS_M16(m,d,x,...) m(d,15,x) \
54 BETTER_ENUMS_ID(BETTER_ENUMS_M15(m,d,__VA_ARGS__))
55#define BETTER_ENUMS_M17(m,d,x,...) m(d,16,x) \
56 BETTER_ENUMS_ID(BETTER_ENUMS_M16(m,d,__VA_ARGS__))
57#define BETTER_ENUMS_M18(m,d,x,...) m(d,17,x) \
58 BETTER_ENUMS_ID(BETTER_ENUMS_M17(m,d,__VA_ARGS__))
59#define BETTER_ENUMS_M19(m,d,x,...) m(d,18,x) \
60 BETTER_ENUMS_ID(BETTER_ENUMS_M18(m,d,__VA_ARGS__))
61#define BETTER_ENUMS_M20(m,d,x,...) m(d,19,x) \
62 BETTER_ENUMS_ID(BETTER_ENUMS_M19(m,d,__VA_ARGS__))
63#define BETTER_ENUMS_M21(m,d,x,...) m(d,20,x) \
64 BETTER_ENUMS_ID(BETTER_ENUMS_M20(m,d,__VA_ARGS__))
65#define BETTER_ENUMS_M22(m,d,x,...) m(d,21,x) \
66 BETTER_ENUMS_ID(BETTER_ENUMS_M21(m,d,__VA_ARGS__))
67#define BETTER_ENUMS_M23(m,d,x,...) m(d,22,x) \
68 BETTER_ENUMS_ID(BETTER_ENUMS_M22(m,d,__VA_ARGS__))
69#define BETTER_ENUMS_M24(m,d,x,...) m(d,23,x) \
70 BETTER_ENUMS_ID(BETTER_ENUMS_M23(m,d,__VA_ARGS__))
71#define BETTER_ENUMS_M25(m,d,x,...) m(d,24,x) \
72 BETTER_ENUMS_ID(BETTER_ENUMS_M24(m,d,__VA_ARGS__))
73#define BETTER_ENUMS_M26(m,d,x,...) m(d,25,x) \
74 BETTER_ENUMS_ID(BETTER_ENUMS_M25(m,d,__VA_ARGS__))
75#define BETTER_ENUMS_M27(m,d,x,...) m(d,26,x) \
76 BETTER_ENUMS_ID(BETTER_ENUMS_M26(m,d,__VA_ARGS__))
77#define BETTER_ENUMS_M28(m,d,x,...) m(d,27,x) \
78 BETTER_ENUMS_ID(BETTER_ENUMS_M27(m,d,__VA_ARGS__))
79#define BETTER_ENUMS_M29(m,d,x,...) m(d,28,x) \
80 BETTER_ENUMS_ID(BETTER_ENUMS_M28(m,d,__VA_ARGS__))
81#define BETTER_ENUMS_M30(m,d,x,...) m(d,29,x) \
82 BETTER_ENUMS_ID(BETTER_ENUMS_M29(m,d,__VA_ARGS__))
83#define BETTER_ENUMS_M31(m,d,x,...) m(d,30,x) \
84 BETTER_ENUMS_ID(BETTER_ENUMS_M30(m,d,__VA_ARGS__))
85#define BETTER_ENUMS_M32(m,d,x,...) m(d,31,x) \
86 BETTER_ENUMS_ID(BETTER_ENUMS_M31(m,d,__VA_ARGS__))
87#define BETTER_ENUMS_M33(m,d,x,...) m(d,32,x) \
88 BETTER_ENUMS_ID(BETTER_ENUMS_M32(m,d,__VA_ARGS__))
89#define BETTER_ENUMS_M34(m,d,x,...) m(d,33,x) \
90 BETTER_ENUMS_ID(BETTER_ENUMS_M33(m,d,__VA_ARGS__))
91#define BETTER_ENUMS_M35(m,d,x,...) m(d,34,x) \
92 BETTER_ENUMS_ID(BETTER_ENUMS_M34(m,d,__VA_ARGS__))
93#define BETTER_ENUMS_M36(m,d,x,...) m(d,35,x) \
94 BETTER_ENUMS_ID(BETTER_ENUMS_M35(m,d,__VA_ARGS__))
95#define BETTER_ENUMS_M37(m,d,x,...) m(d,36,x) \
96 BETTER_ENUMS_ID(BETTER_ENUMS_M36(m,d,__VA_ARGS__))
97#define BETTER_ENUMS_M38(m,d,x,...) m(d,37,x) \
98 BETTER_ENUMS_ID(BETTER_ENUMS_M37(m,d,__VA_ARGS__))
99#define BETTER_ENUMS_M39(m,d,x,...) m(d,38,x) \
100 BETTER_ENUMS_ID(BETTER_ENUMS_M38(m,d,__VA_ARGS__))
101#define BETTER_ENUMS_M40(m,d,x,...) m(d,39,x) \
102 BETTER_ENUMS_ID(BETTER_ENUMS_M39(m,d,__VA_ARGS__))
103#define BETTER_ENUMS_M41(m,d,x,...) m(d,40,x) \
104 BETTER_ENUMS_ID(BETTER_ENUMS_M40(m,d,__VA_ARGS__))
105#define BETTER_ENUMS_M42(m,d,x,...) m(d,41,x) \
106 BETTER_ENUMS_ID(BETTER_ENUMS_M41(m,d,__VA_ARGS__))
107#define BETTER_ENUMS_M43(m,d,x,...) m(d,42,x) \
108 BETTER_ENUMS_ID(BETTER_ENUMS_M42(m,d,__VA_ARGS__))
109#define BETTER_ENUMS_M44(m,d,x,...) m(d,43,x) \
110 BETTER_ENUMS_ID(BETTER_ENUMS_M43(m,d,__VA_ARGS__))
111#define BETTER_ENUMS_M45(m,d,x,...) m(d,44,x) \
112 BETTER_ENUMS_ID(BETTER_ENUMS_M44(m,d,__VA_ARGS__))
113#define BETTER_ENUMS_M46(m,d,x,...) m(d,45,x) \
114 BETTER_ENUMS_ID(BETTER_ENUMS_M45(m,d,__VA_ARGS__))
115#define BETTER_ENUMS_M47(m,d,x,...) m(d,46,x) \
116 BETTER_ENUMS_ID(BETTER_ENUMS_M46(m,d,__VA_ARGS__))
117#define BETTER_ENUMS_M48(m,d,x,...) m(d,47,x) \
118 BETTER_ENUMS_ID(BETTER_ENUMS_M47(m,d,__VA_ARGS__))
119#define BETTER_ENUMS_M49(m,d,x,...) m(d,48,x) \
120 BETTER_ENUMS_ID(BETTER_ENUMS_M48(m,d,__VA_ARGS__))
121#define BETTER_ENUMS_M50(m,d,x,...) m(d,49,x) \
122 BETTER_ENUMS_ID(BETTER_ENUMS_M49(m,d,__VA_ARGS__))
123#define BETTER_ENUMS_M51(m,d,x,...) m(d,50,x) \
124 BETTER_ENUMS_ID(BETTER_ENUMS_M50(m,d,__VA_ARGS__))
125#define BETTER_ENUMS_M52(m,d,x,...) m(d,51,x) \
126 BETTER_ENUMS_ID(BETTER_ENUMS_M51(m,d,__VA_ARGS__))
127#define BETTER_ENUMS_M53(m,d,x,...) m(d,52,x) \
128 BETTER_ENUMS_ID(BETTER_ENUMS_M52(m,d,__VA_ARGS__))
129#define BETTER_ENUMS_M54(m,d,x,...) m(d,53,x) \
130 BETTER_ENUMS_ID(BETTER_ENUMS_M53(m,d,__VA_ARGS__))
131#define BETTER_ENUMS_M55(m,d,x,...) m(d,54,x) \
132 BETTER_ENUMS_ID(BETTER_ENUMS_M54(m,d,__VA_ARGS__))
133#define BETTER_ENUMS_M56(m,d,x,...) m(d,55,x) \
134 BETTER_ENUMS_ID(BETTER_ENUMS_M55(m,d,__VA_ARGS__))
135#define BETTER_ENUMS_M57(m,d,x,...) m(d,56,x) \
136 BETTER_ENUMS_ID(BETTER_ENUMS_M56(m,d,__VA_ARGS__))
137#define BETTER_ENUMS_M58(m,d,x,...) m(d,57,x) \
138 BETTER_ENUMS_ID(BETTER_ENUMS_M57(m,d,__VA_ARGS__))
139#define BETTER_ENUMS_M59(m,d,x,...) m(d,58,x) \
140 BETTER_ENUMS_ID(BETTER_ENUMS_M58(m,d,__VA_ARGS__))
141#define BETTER_ENUMS_M60(m,d,x,...) m(d,59,x) \
142 BETTER_ENUMS_ID(BETTER_ENUMS_M59(m,d,__VA_ARGS__))
143#define BETTER_ENUMS_M61(m,d,x,...) m(d,60,x) \
144 BETTER_ENUMS_ID(BETTER_ENUMS_M60(m,d,__VA_ARGS__))
145#define BETTER_ENUMS_M62(m,d,x,...) m(d,61,x) \
146 BETTER_ENUMS_ID(BETTER_ENUMS_M61(m,d,__VA_ARGS__))
147#define BETTER_ENUMS_M63(m,d,x,...) m(d,62,x) \
148 BETTER_ENUMS_ID(BETTER_ENUMS_M62(m,d,__VA_ARGS__))
149#define BETTER_ENUMS_M64(m,d,x,...) m(d,63,x) \
150 BETTER_ENUMS_ID(BETTER_ENUMS_M63(m,d,__VA_ARGS__))
151#define BETTER_ENUMS_M65(m,d,x,...) m(d,64,x) \
152 BETTER_ENUMS_ID(BETTER_ENUMS_M64(m,d,__VA_ARGS__))
153#define BETTER_ENUMS_M66(m,d,x,...) m(d,65,x) \
154 BETTER_ENUMS_ID(BETTER_ENUMS_M65(m,d,__VA_ARGS__))
155#define BETTER_ENUMS_M67(m,d,x,...) m(d,66,x) \
156 BETTER_ENUMS_ID(BETTER_ENUMS_M66(m,d,__VA_ARGS__))
157#define BETTER_ENUMS_M68(m,d,x,...) m(d,67,x) \
158 BETTER_ENUMS_ID(BETTER_ENUMS_M67(m,d,__VA_ARGS__))
159#define BETTER_ENUMS_M69(m,d,x,...) m(d,68,x) \
160 BETTER_ENUMS_ID(BETTER_ENUMS_M68(m,d,__VA_ARGS__))
161#define BETTER_ENUMS_M70(m,d,x,...) m(d,69,x) \
162 BETTER_ENUMS_ID(BETTER_ENUMS_M69(m,d,__VA_ARGS__))
163#define BETTER_ENUMS_M71(m,d,x,...) m(d,70,x) \
164 BETTER_ENUMS_ID(BETTER_ENUMS_M70(m,d,__VA_ARGS__))
165#define BETTER_ENUMS_M72(m,d,x,...) m(d,71,x) \
166 BETTER_ENUMS_ID(BETTER_ENUMS_M71(m,d,__VA_ARGS__))
167#define BETTER_ENUMS_M73(m,d,x,...) m(d,72,x) \
168 BETTER_ENUMS_ID(BETTER_ENUMS_M72(m,d,__VA_ARGS__))
169#define BETTER_ENUMS_M74(m,d,x,...) m(d,73,x) \
170 BETTER_ENUMS_ID(BETTER_ENUMS_M73(m,d,__VA_ARGS__))
171#define BETTER_ENUMS_M75(m,d,x,...) m(d,74,x) \
172 BETTER_ENUMS_ID(BETTER_ENUMS_M74(m,d,__VA_ARGS__))
173#define BETTER_ENUMS_M76(m,d,x,...) m(d,75,x) \
174 BETTER_ENUMS_ID(BETTER_ENUMS_M75(m,d,__VA_ARGS__))
175#define BETTER_ENUMS_M77(m,d,x,...) m(d,76,x) \
176 BETTER_ENUMS_ID(BETTER_ENUMS_M76(m,d,__VA_ARGS__))
177#define BETTER_ENUMS_M78(m,d,x,...) m(d,77,x) \
178 BETTER_ENUMS_ID(BETTER_ENUMS_M77(m,d,__VA_ARGS__))
179#define BETTER_ENUMS_M79(m,d,x,...) m(d,78,x) \
180 BETTER_ENUMS_ID(BETTER_ENUMS_M78(m,d,__VA_ARGS__))
181#define BETTER_ENUMS_M80(m,d,x,...) m(d,79,x) \
182 BETTER_ENUMS_ID(BETTER_ENUMS_M79(m,d,__VA_ARGS__))
183#define BETTER_ENUMS_M81(m,d,x,...) m(d,80,x) \
184 BETTER_ENUMS_ID(BETTER_ENUMS_M80(m,d,__VA_ARGS__))
185#define BETTER_ENUMS_M82(m,d,x,...) m(d,81,x) \
186 BETTER_ENUMS_ID(BETTER_ENUMS_M81(m,d,__VA_ARGS__))
187#define BETTER_ENUMS_M83(m,d,x,...) m(d,82,x) \
188 BETTER_ENUMS_ID(BETTER_ENUMS_M82(m,d,__VA_ARGS__))
189#define BETTER_ENUMS_M84(m,d,x,...) m(d,83,x) \
190 BETTER_ENUMS_ID(BETTER_ENUMS_M83(m,d,__VA_ARGS__))
191#define BETTER_ENUMS_M85(m,d,x,...) m(d,84,x) \
192 BETTER_ENUMS_ID(BETTER_ENUMS_M84(m,d,__VA_ARGS__))
193#define BETTER_ENUMS_M86(m,d,x,...) m(d,85,x) \
194 BETTER_ENUMS_ID(BETTER_ENUMS_M85(m,d,__VA_ARGS__))
195#define BETTER_ENUMS_M87(m,d,x,...) m(d,86,x) \
196 BETTER_ENUMS_ID(BETTER_ENUMS_M86(m,d,__VA_ARGS__))
197#define BETTER_ENUMS_M88(m,d,x,...) m(d,87,x) \
198 BETTER_ENUMS_ID(BETTER_ENUMS_M87(m,d,__VA_ARGS__))
199#define BETTER_ENUMS_M89(m,d,x,...) m(d,88,x) \
200 BETTER_ENUMS_ID(BETTER_ENUMS_M88(m,d,__VA_ARGS__))
201#define BETTER_ENUMS_M90(m,d,x,...) m(d,89,x) \
202 BETTER_ENUMS_ID(BETTER_ENUMS_M89(m,d,__VA_ARGS__))
203#define BETTER_ENUMS_M91(m,d,x,...) m(d,90,x) \
204 BETTER_ENUMS_ID(BETTER_ENUMS_M90(m,d,__VA_ARGS__))
205#define BETTER_ENUMS_M92(m,d,x,...) m(d,91,x) \
206 BETTER_ENUMS_ID(BETTER_ENUMS_M91(m,d,__VA_ARGS__))
207#define BETTER_ENUMS_M93(m,d,x,...) m(d,92,x) \
208 BETTER_ENUMS_ID(BETTER_ENUMS_M92(m,d,__VA_ARGS__))
209#define BETTER_ENUMS_M94(m,d,x,...) m(d,93,x) \
210 BETTER_ENUMS_ID(BETTER_ENUMS_M93(m,d,__VA_ARGS__))
211#define BETTER_ENUMS_M95(m,d,x,...) m(d,94,x) \
212 BETTER_ENUMS_ID(BETTER_ENUMS_M94(m,d,__VA_ARGS__))
213#define BETTER_ENUMS_M96(m,d,x,...) m(d,95,x) \
214 BETTER_ENUMS_ID(BETTER_ENUMS_M95(m,d,__VA_ARGS__))
215#define BETTER_ENUMS_M97(m,d,x,...) m(d,96,x) \
216 BETTER_ENUMS_ID(BETTER_ENUMS_M96(m,d,__VA_ARGS__))
217#define BETTER_ENUMS_M98(m,d,x,...) m(d,97,x) \
218 BETTER_ENUMS_ID(BETTER_ENUMS_M97(m,d,__VA_ARGS__))
219#define BETTER_ENUMS_M99(m,d,x,...) m(d,98,x) \
220 BETTER_ENUMS_ID(BETTER_ENUMS_M98(m,d,__VA_ARGS__))
221#define BETTER_ENUMS_M100(m,d,x,...) m(d,99,x) \
222 BETTER_ENUMS_ID(BETTER_ENUMS_M99(m,d,__VA_ARGS__))
223#define BETTER_ENUMS_M101(m,d,x,...) m(d,100,x) \
224 BETTER_ENUMS_ID(BETTER_ENUMS_M100(m,d,__VA_ARGS__))
225#define BETTER_ENUMS_M102(m,d,x,...) m(d,101,x) \
226 BETTER_ENUMS_ID(BETTER_ENUMS_M101(m,d,__VA_ARGS__))
227#define BETTER_ENUMS_M103(m,d,x,...) m(d,102,x) \
228 BETTER_ENUMS_ID(BETTER_ENUMS_M102(m,d,__VA_ARGS__))
229#define BETTER_ENUMS_M104(m,d,x,...) m(d,103,x) \
230 BETTER_ENUMS_ID(BETTER_ENUMS_M103(m,d,__VA_ARGS__))
231#define BETTER_ENUMS_M105(m,d,x,...) m(d,104,x) \
232 BETTER_ENUMS_ID(BETTER_ENUMS_M104(m,d,__VA_ARGS__))
233#define BETTER_ENUMS_M106(m,d,x,...) m(d,105,x) \
234 BETTER_ENUMS_ID(BETTER_ENUMS_M105(m,d,__VA_ARGS__))
235#define BETTER_ENUMS_M107(m,d,x,...) m(d,106,x) \
236 BETTER_ENUMS_ID(BETTER_ENUMS_M106(m,d,__VA_ARGS__))
237#define BETTER_ENUMS_M108(m,d,x,...) m(d,107,x) \
238 BETTER_ENUMS_ID(BETTER_ENUMS_M107(m,d,__VA_ARGS__))
239#define BETTER_ENUMS_M109(m,d,x,...) m(d,108,x) \
240 BETTER_ENUMS_ID(BETTER_ENUMS_M108(m,d,__VA_ARGS__))
241#define BETTER_ENUMS_M110(m,d,x,...) m(d,109,x) \
242 BETTER_ENUMS_ID(BETTER_ENUMS_M109(m,d,__VA_ARGS__))
243#define BETTER_ENUMS_M111(m,d,x,...) m(d,110,x) \
244 BETTER_ENUMS_ID(BETTER_ENUMS_M110(m,d,__VA_ARGS__))
245#define BETTER_ENUMS_M112(m,d,x,...) m(d,111,x) \
246 BETTER_ENUMS_ID(BETTER_ENUMS_M111(m,d,__VA_ARGS__))
247#define BETTER_ENUMS_M113(m,d,x,...) m(d,112,x) \
248 BETTER_ENUMS_ID(BETTER_ENUMS_M112(m,d,__VA_ARGS__))
249#define BETTER_ENUMS_M114(m,d,x,...) m(d,113,x) \
250 BETTER_ENUMS_ID(BETTER_ENUMS_M113(m,d,__VA_ARGS__))
251#define BETTER_ENUMS_M115(m,d,x,...) m(d,114,x) \
252 BETTER_ENUMS_ID(BETTER_ENUMS_M114(m,d,__VA_ARGS__))
253#define BETTER_ENUMS_M116(m,d,x,...) m(d,115,x) \
254 BETTER_ENUMS_ID(BETTER_ENUMS_M115(m,d,__VA_ARGS__))
255#define BETTER_ENUMS_M117(m,d,x,...) m(d,116,x) \
256 BETTER_ENUMS_ID(BETTER_ENUMS_M116(m,d,__VA_ARGS__))
257#define BETTER_ENUMS_M118(m,d,x,...) m(d,117,x) \
258 BETTER_ENUMS_ID(BETTER_ENUMS_M117(m,d,__VA_ARGS__))
259#define BETTER_ENUMS_M119(m,d,x,...) m(d,118,x) \
260 BETTER_ENUMS_ID(BETTER_ENUMS_M118(m,d,__VA_ARGS__))
261#define BETTER_ENUMS_M120(m,d,x,...) m(d,119,x) \
262 BETTER_ENUMS_ID(BETTER_ENUMS_M119(m,d,__VA_ARGS__))
263#define BETTER_ENUMS_M121(m,d,x,...) m(d,120,x) \
264 BETTER_ENUMS_ID(BETTER_ENUMS_M120(m,d,__VA_ARGS__))
265#define BETTER_ENUMS_M122(m,d,x,...) m(d,121,x) \
266 BETTER_ENUMS_ID(BETTER_ENUMS_M121(m,d,__VA_ARGS__))
267#define BETTER_ENUMS_M123(m,d,x,...) m(d,122,x) \
268 BETTER_ENUMS_ID(BETTER_ENUMS_M122(m,d,__VA_ARGS__))
269#define BETTER_ENUMS_M124(m,d,x,...) m(d,123,x) \
270 BETTER_ENUMS_ID(BETTER_ENUMS_M123(m,d,__VA_ARGS__))
271#define BETTER_ENUMS_M125(m,d,x,...) m(d,124,x) \
272 BETTER_ENUMS_ID(BETTER_ENUMS_M124(m,d,__VA_ARGS__))
273
274#ifndef _MSC_VER // Microsoft compiler will not support a BETTER_ENUM with 128 symbols
275#define BETTER_ENUMS_M126(m,d,x,...) m(d,125,x) \
276 BETTER_ENUMS_ID(BETTER_ENUMS_M125(m,d,__VA_ARGS__))
277#define BETTER_ENUMS_M127(m,d,x,...) m(d,126,x) \
278 BETTER_ENUMS_ID(BETTER_ENUMS_M126(m,d,__VA_ARGS__))
279#define BETTER_ENUMS_M128(m,d,x,...) m(d,127,x) \
280 BETTER_ENUMS_ID(BETTER_ENUMS_M127(m,d,__VA_ARGS__))
281#endif // end _MSC_VER
282
283#ifndef _MSC_VER // Microsoft compiler will not support a BETTER_ENUM with 128 symbols
284#define BETTER_ENUMS_PP_COUNT_IMPL(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
285 _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, \
286 _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, \
287 _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, \
288 _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, \
289 _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, \
290 _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100,\
291 _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, \
292 _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, _124, \
293 _125, _126, _127, _128, count, ...) count
294
295#define BETTER_ENUMS_PP_COUNT(...) \
296 BETTER_ENUMS_ID(BETTER_ENUMS_PP_COUNT_IMPL(__VA_ARGS__, 128, 127, 126, 125,\
297 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, \
298 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, \
299 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78,\
300 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60,\
301 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42,\
302 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24,\
303 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, \
304 4, 3, 2, 1))
305#else
306#define BETTER_ENUMS_PP_COUNT_IMPL(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
307 _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, \
308 _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, \
309 _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, \
310 _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, \
311 _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, \
312 _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100,\
313 _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, \
314 _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, _124, \
315 _125, count, ...) count
316
317#define BETTER_ENUMS_PP_COUNT(...) \
318 BETTER_ENUMS_ID(BETTER_ENUMS_PP_COUNT_IMPL(__VA_ARGS__, 125,\
319 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, \
320 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, \
321 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78,\
322 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60,\
323 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42,\
324 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24,\
325 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, \
326 4, 3, 2, 1))
327#endif // end _MSC_VER
328
329#define BETTER_ENUMS_ITERATE(X, f, l) X(f, l, 0) X(f, l, 1) X(f, l, 2) \
330 X(f, l, 3) X(f, l, 4) X(f, l, 5) X(f, l, 6) X(f, l, 7) X(f, l, 8) \
331 X(f, l, 9) X(f, l, 10) X(f, l, 11) X(f, l, 12) X(f, l, 13) X(f, l, 14) \
332 X(f, l, 15) X(f, l, 16) X(f, l, 17) X(f, l, 18) X(f, l, 19) X(f, l, 20) \
333 X(f, l, 21) X(f, l, 22) X(f, l, 23) X(f, l, 24) X(f, l, 25) X(f, l, 26) \
334 X(f, l, 27) X(f, l, 28) X(f, l, 29) X(f, l, 30) X(f, l, 31)
335
336#endif // end DOXYGEN_WILL_SKIP_THIS
337#endif // #ifndef BETTER_ENUMS_MACRO_FILE_H