Line data Source code
1 1 : /*
2 : * Copyright (c) 2021, Nordic Semiconductor ASA
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief Internals for looping macros
10 : *
11 : * Repetitive or obscure helper macros needed by sys/util.h.
12 : */
13 :
14 : #ifndef ZEPHYR_INCLUDE_SYS_UTIL_LOOPS_H_
15 : #define ZEPHYR_INCLUDE_SYS_UTIL_LOOPS_H_
16 :
17 : #define Z_FOR_LOOP_GET_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, \
18 : _12, _13, _14, _15, _16, _17, _18, _19, _20, \
19 : _21, _22, _23, _24, _25, _26, _27, _28, _29, \
20 : _30, _31, _32, _33, _34, _35, _36, _37, _38, \
21 : _39, _40, _41, _42, _43, _44, _45, _46, _47, \
22 : _48, _49, _50, _51, _52, _53, _54, _55, _56, \
23 : _57, _58, _59, _60, _61, _62, _63, _64, N, ...) N
24 :
25 : #define Z_FOR_LOOP_0(z_call, sep, fixed_arg0, fixed_arg1, ...)
26 :
27 : #define Z_FOR_LOOP_1(z_call, sep, fixed_arg0, fixed_arg1, x) \
28 : z_call(0, x, fixed_arg0, fixed_arg1)
29 :
30 : #define Z_FOR_LOOP_2(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
31 : Z_FOR_LOOP_1(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
32 : __DEBRACKET sep \
33 : z_call(1, x, fixed_arg0, fixed_arg1)
34 :
35 : #define Z_FOR_LOOP_3(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
36 : Z_FOR_LOOP_2(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
37 : __DEBRACKET sep \
38 : z_call(2, x, fixed_arg0, fixed_arg1)
39 :
40 : #define Z_FOR_LOOP_4(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
41 : Z_FOR_LOOP_3(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
42 : __DEBRACKET sep \
43 : z_call(3, x, fixed_arg0, fixed_arg1)
44 :
45 : #define Z_FOR_LOOP_5(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
46 : Z_FOR_LOOP_4(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
47 : __DEBRACKET sep \
48 : z_call(4, x, fixed_arg0, fixed_arg1)
49 :
50 : #define Z_FOR_LOOP_6(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
51 : Z_FOR_LOOP_5(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
52 : __DEBRACKET sep \
53 : z_call(5, x, fixed_arg0, fixed_arg1)
54 :
55 : #define Z_FOR_LOOP_7(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
56 : Z_FOR_LOOP_6(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
57 : __DEBRACKET sep \
58 : z_call(6, x, fixed_arg0, fixed_arg1)
59 :
60 : #define Z_FOR_LOOP_8(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
61 : Z_FOR_LOOP_7(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
62 : __DEBRACKET sep \
63 : z_call(7, x, fixed_arg0, fixed_arg1)
64 :
65 : #define Z_FOR_LOOP_9(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
66 : Z_FOR_LOOP_8(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
67 : __DEBRACKET sep \
68 : z_call(8, x, fixed_arg0, fixed_arg1)
69 :
70 : #define Z_FOR_LOOP_10(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
71 : Z_FOR_LOOP_9(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
72 : __DEBRACKET sep \
73 : z_call(9, x, fixed_arg0, fixed_arg1)
74 :
75 : #define Z_FOR_LOOP_11(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
76 : Z_FOR_LOOP_10(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
77 : __DEBRACKET sep \
78 : z_call(10, x, fixed_arg0, fixed_arg1)
79 :
80 : #define Z_FOR_LOOP_12(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
81 : Z_FOR_LOOP_11(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
82 : __DEBRACKET sep \
83 : z_call(11, x, fixed_arg0, fixed_arg1)
84 :
85 : #define Z_FOR_LOOP_13(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
86 : Z_FOR_LOOP_12(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
87 : __DEBRACKET sep \
88 : z_call(12, x, fixed_arg0, fixed_arg1)
89 :
90 : #define Z_FOR_LOOP_14(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
91 : Z_FOR_LOOP_13(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
92 : __DEBRACKET sep \
93 : z_call(13, x, fixed_arg0, fixed_arg1)
94 :
95 : #define Z_FOR_LOOP_15(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
96 : Z_FOR_LOOP_14(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
97 : __DEBRACKET sep \
98 : z_call(14, x, fixed_arg0, fixed_arg1)
99 :
100 : #define Z_FOR_LOOP_16(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
101 : Z_FOR_LOOP_15(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
102 : __DEBRACKET sep \
103 : z_call(15, x, fixed_arg0, fixed_arg1)
104 :
105 : #define Z_FOR_LOOP_17(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
106 : Z_FOR_LOOP_16(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
107 : __DEBRACKET sep \
108 : z_call(16, x, fixed_arg0, fixed_arg1)
109 :
110 : #define Z_FOR_LOOP_18(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
111 : Z_FOR_LOOP_17(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
112 : __DEBRACKET sep \
113 : z_call(17, x, fixed_arg0, fixed_arg1)
114 :
115 : #define Z_FOR_LOOP_19(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
116 : Z_FOR_LOOP_18(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
117 : __DEBRACKET sep \
118 : z_call(18, x, fixed_arg0, fixed_arg1)
119 :
120 : #define Z_FOR_LOOP_20(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
121 : Z_FOR_LOOP_19(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
122 : __DEBRACKET sep \
123 : z_call(19, x, fixed_arg0, fixed_arg1)
124 :
125 : #define Z_FOR_LOOP_21(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
126 : Z_FOR_LOOP_20(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
127 : __DEBRACKET sep \
128 : z_call(20, x, fixed_arg0, fixed_arg1)
129 :
130 : #define Z_FOR_LOOP_22(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
131 : Z_FOR_LOOP_21(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
132 : __DEBRACKET sep \
133 : z_call(21, x, fixed_arg0, fixed_arg1)
134 :
135 : #define Z_FOR_LOOP_23(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
136 : Z_FOR_LOOP_22(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
137 : __DEBRACKET sep \
138 : z_call(22, x, fixed_arg0, fixed_arg1)
139 :
140 : #define Z_FOR_LOOP_24(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
141 : Z_FOR_LOOP_23(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
142 : __DEBRACKET sep \
143 : z_call(23, x, fixed_arg0, fixed_arg1)
144 :
145 : #define Z_FOR_LOOP_25(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
146 : Z_FOR_LOOP_24(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
147 : __DEBRACKET sep \
148 : z_call(24, x, fixed_arg0, fixed_arg1)
149 :
150 : #define Z_FOR_LOOP_26(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
151 : Z_FOR_LOOP_25(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
152 : __DEBRACKET sep \
153 : z_call(25, x, fixed_arg0, fixed_arg1)
154 :
155 : #define Z_FOR_LOOP_27(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
156 : Z_FOR_LOOP_26(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
157 : __DEBRACKET sep \
158 : z_call(26, x, fixed_arg0, fixed_arg1)
159 :
160 : #define Z_FOR_LOOP_28(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
161 : Z_FOR_LOOP_27(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
162 : __DEBRACKET sep \
163 : z_call(27, x, fixed_arg0, fixed_arg1)
164 :
165 : #define Z_FOR_LOOP_29(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
166 : Z_FOR_LOOP_28(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
167 : __DEBRACKET sep \
168 : z_call(28, x, fixed_arg0, fixed_arg1)
169 :
170 : #define Z_FOR_LOOP_30(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
171 : Z_FOR_LOOP_29(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
172 : __DEBRACKET sep \
173 : z_call(29, x, fixed_arg0, fixed_arg1)
174 :
175 : #define Z_FOR_LOOP_31(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
176 : Z_FOR_LOOP_30(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
177 : __DEBRACKET sep \
178 : z_call(30, x, fixed_arg0, fixed_arg1)
179 :
180 : #define Z_FOR_LOOP_32(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
181 : Z_FOR_LOOP_31(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
182 : __DEBRACKET sep \
183 : z_call(31, x, fixed_arg0, fixed_arg1)
184 :
185 : #define Z_FOR_LOOP_33(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
186 : Z_FOR_LOOP_32(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
187 : __DEBRACKET sep \
188 : z_call(32, x, fixed_arg0, fixed_arg1)
189 :
190 : #define Z_FOR_LOOP_34(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
191 : Z_FOR_LOOP_33(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
192 : __DEBRACKET sep \
193 : z_call(33, x, fixed_arg0, fixed_arg1)
194 :
195 : #define Z_FOR_LOOP_35(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
196 : Z_FOR_LOOP_34(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
197 : __DEBRACKET sep \
198 : z_call(34, x, fixed_arg0, fixed_arg1)
199 :
200 : #define Z_FOR_LOOP_36(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
201 : Z_FOR_LOOP_35(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
202 : __DEBRACKET sep \
203 : z_call(35, x, fixed_arg0, fixed_arg1)
204 :
205 : #define Z_FOR_LOOP_37(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
206 : Z_FOR_LOOP_36(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
207 : __DEBRACKET sep \
208 : z_call(36, x, fixed_arg0, fixed_arg1)
209 :
210 : #define Z_FOR_LOOP_38(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
211 : Z_FOR_LOOP_37(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
212 : __DEBRACKET sep \
213 : z_call(37, x, fixed_arg0, fixed_arg1)
214 :
215 : #define Z_FOR_LOOP_39(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
216 : Z_FOR_LOOP_38(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
217 : __DEBRACKET sep \
218 : z_call(38, x, fixed_arg0, fixed_arg1)
219 :
220 : #define Z_FOR_LOOP_40(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
221 : Z_FOR_LOOP_39(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
222 : __DEBRACKET sep \
223 : z_call(39, x, fixed_arg0, fixed_arg1)
224 :
225 : #define Z_FOR_LOOP_41(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
226 : Z_FOR_LOOP_40(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
227 : __DEBRACKET sep \
228 : z_call(40, x, fixed_arg0, fixed_arg1)
229 :
230 : #define Z_FOR_LOOP_42(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
231 : Z_FOR_LOOP_41(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
232 : __DEBRACKET sep \
233 : z_call(41, x, fixed_arg0, fixed_arg1)
234 :
235 : #define Z_FOR_LOOP_43(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
236 : Z_FOR_LOOP_42(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
237 : __DEBRACKET sep \
238 : z_call(42, x, fixed_arg0, fixed_arg1)
239 :
240 : #define Z_FOR_LOOP_44(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
241 : Z_FOR_LOOP_43(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
242 : __DEBRACKET sep \
243 : z_call(43, x, fixed_arg0, fixed_arg1)
244 :
245 : #define Z_FOR_LOOP_45(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
246 : Z_FOR_LOOP_44(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
247 : __DEBRACKET sep \
248 : z_call(44, x, fixed_arg0, fixed_arg1)
249 :
250 : #define Z_FOR_LOOP_46(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
251 : Z_FOR_LOOP_45(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
252 : __DEBRACKET sep \
253 : z_call(45, x, fixed_arg0, fixed_arg1)
254 :
255 : #define Z_FOR_LOOP_47(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
256 : Z_FOR_LOOP_46(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
257 : __DEBRACKET sep \
258 : z_call(46, x, fixed_arg0, fixed_arg1)
259 :
260 : #define Z_FOR_LOOP_48(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
261 : Z_FOR_LOOP_47(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
262 : __DEBRACKET sep \
263 : z_call(47, x, fixed_arg0, fixed_arg1)
264 :
265 : #define Z_FOR_LOOP_49(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
266 : Z_FOR_LOOP_48(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
267 : __DEBRACKET sep \
268 : z_call(48, x, fixed_arg0, fixed_arg1)
269 :
270 : #define Z_FOR_LOOP_50(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
271 : Z_FOR_LOOP_49(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
272 : __DEBRACKET sep \
273 : z_call(49, x, fixed_arg0, fixed_arg1)
274 :
275 : #define Z_FOR_LOOP_51(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
276 : Z_FOR_LOOP_50(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
277 : __DEBRACKET sep \
278 : z_call(50, x, fixed_arg0, fixed_arg1)
279 :
280 : #define Z_FOR_LOOP_52(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
281 : Z_FOR_LOOP_51(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
282 : __DEBRACKET sep \
283 : z_call(51, x, fixed_arg0, fixed_arg1)
284 :
285 : #define Z_FOR_LOOP_53(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
286 : Z_FOR_LOOP_52(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
287 : __DEBRACKET sep \
288 : z_call(52, x, fixed_arg0, fixed_arg1)
289 :
290 : #define Z_FOR_LOOP_54(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
291 : Z_FOR_LOOP_53(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
292 : __DEBRACKET sep \
293 : z_call(53, x, fixed_arg0, fixed_arg1)
294 :
295 : #define Z_FOR_LOOP_55(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
296 : Z_FOR_LOOP_54(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
297 : __DEBRACKET sep \
298 : z_call(54, x, fixed_arg0, fixed_arg1)
299 :
300 : #define Z_FOR_LOOP_56(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
301 : Z_FOR_LOOP_55(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
302 : __DEBRACKET sep \
303 : z_call(55, x, fixed_arg0, fixed_arg1)
304 :
305 : #define Z_FOR_LOOP_57(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
306 : Z_FOR_LOOP_56(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
307 : __DEBRACKET sep \
308 : z_call(56, x, fixed_arg0, fixed_arg1)
309 :
310 : #define Z_FOR_LOOP_58(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
311 : Z_FOR_LOOP_57(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
312 : __DEBRACKET sep \
313 : z_call(57, x, fixed_arg0, fixed_arg1)
314 :
315 : #define Z_FOR_LOOP_59(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
316 : Z_FOR_LOOP_58(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
317 : __DEBRACKET sep \
318 : z_call(58, x, fixed_arg0, fixed_arg1)
319 :
320 : #define Z_FOR_LOOP_60(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
321 : Z_FOR_LOOP_59(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
322 : __DEBRACKET sep \
323 : z_call(59, x, fixed_arg0, fixed_arg1)
324 :
325 : #define Z_FOR_LOOP_61(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
326 : Z_FOR_LOOP_60(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
327 : __DEBRACKET sep \
328 : z_call(60, x, fixed_arg0, fixed_arg1)
329 :
330 : #define Z_FOR_LOOP_62(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
331 : Z_FOR_LOOP_61(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
332 : __DEBRACKET sep \
333 : z_call(61, x, fixed_arg0, fixed_arg1)
334 :
335 : #define Z_FOR_LOOP_63(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
336 : Z_FOR_LOOP_62(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
337 : __DEBRACKET sep \
338 : z_call(62, x, fixed_arg0, fixed_arg1)
339 :
340 : #define Z_FOR_LOOP_64(z_call, sep, fixed_arg0, fixed_arg1, x, ...) \
341 : Z_FOR_LOOP_63(z_call, sep, fixed_arg0, fixed_arg1, ##__VA_ARGS__) \
342 : __DEBRACKET sep \
343 : z_call(63, x, fixed_arg0, fixed_arg1)
344 :
345 : #define Z_FOR_EACH_ENGINE(x, sep, fixed_arg0, fixed_arg1, ...) \
346 : Z_FOR_LOOP_GET_ARG(__VA_ARGS__, \
347 : Z_FOR_LOOP_64, \
348 : Z_FOR_LOOP_63, \
349 : Z_FOR_LOOP_62, \
350 : Z_FOR_LOOP_61, \
351 : Z_FOR_LOOP_60, \
352 : Z_FOR_LOOP_59, \
353 : Z_FOR_LOOP_58, \
354 : Z_FOR_LOOP_57, \
355 : Z_FOR_LOOP_56, \
356 : Z_FOR_LOOP_55, \
357 : Z_FOR_LOOP_54, \
358 : Z_FOR_LOOP_53, \
359 : Z_FOR_LOOP_52, \
360 : Z_FOR_LOOP_51, \
361 : Z_FOR_LOOP_50, \
362 : Z_FOR_LOOP_49, \
363 : Z_FOR_LOOP_48, \
364 : Z_FOR_LOOP_47, \
365 : Z_FOR_LOOP_46, \
366 : Z_FOR_LOOP_45, \
367 : Z_FOR_LOOP_44, \
368 : Z_FOR_LOOP_43, \
369 : Z_FOR_LOOP_42, \
370 : Z_FOR_LOOP_41, \
371 : Z_FOR_LOOP_40, \
372 : Z_FOR_LOOP_39, \
373 : Z_FOR_LOOP_38, \
374 : Z_FOR_LOOP_37, \
375 : Z_FOR_LOOP_36, \
376 : Z_FOR_LOOP_35, \
377 : Z_FOR_LOOP_34, \
378 : Z_FOR_LOOP_33, \
379 : Z_FOR_LOOP_32, \
380 : Z_FOR_LOOP_31, \
381 : Z_FOR_LOOP_30, \
382 : Z_FOR_LOOP_29, \
383 : Z_FOR_LOOP_28, \
384 : Z_FOR_LOOP_27, \
385 : Z_FOR_LOOP_26, \
386 : Z_FOR_LOOP_25, \
387 : Z_FOR_LOOP_24, \
388 : Z_FOR_LOOP_23, \
389 : Z_FOR_LOOP_22, \
390 : Z_FOR_LOOP_21, \
391 : Z_FOR_LOOP_20, \
392 : Z_FOR_LOOP_19, \
393 : Z_FOR_LOOP_18, \
394 : Z_FOR_LOOP_17, \
395 : Z_FOR_LOOP_16, \
396 : Z_FOR_LOOP_15, \
397 : Z_FOR_LOOP_14, \
398 : Z_FOR_LOOP_13, \
399 : Z_FOR_LOOP_12, \
400 : Z_FOR_LOOP_11, \
401 : Z_FOR_LOOP_10, \
402 : Z_FOR_LOOP_9, \
403 : Z_FOR_LOOP_8, \
404 : Z_FOR_LOOP_7, \
405 : Z_FOR_LOOP_6, \
406 : Z_FOR_LOOP_5, \
407 : Z_FOR_LOOP_4, \
408 : Z_FOR_LOOP_3, \
409 : Z_FOR_LOOP_2, \
410 : Z_FOR_LOOP_1, \
411 : Z_FOR_LOOP_0)(x, sep, fixed_arg0, fixed_arg1, __VA_ARGS__)
412 :
413 : #define Z_GET_ARG_1(_0, ...) _0
414 :
415 : #define Z_GET_ARG_2(_0, _1, ...) _1
416 :
417 : #define Z_GET_ARG_3(_0, _1, _2, ...) _2
418 :
419 : #define Z_GET_ARG_4(_0, _1, _2, _3, ...) _3
420 :
421 : #define Z_GET_ARG_5(_0, _1, _2, _3, _4, ...) _4
422 :
423 : #define Z_GET_ARG_6(_0, _1, _2, _3, _4, _5, ...) _5
424 :
425 : #define Z_GET_ARG_7(_0, _1, _2, _3, _4, _5, _6, ...) _6
426 :
427 : #define Z_GET_ARG_8(_0, _1, _2, _3, _4, _5, _6, _7, ...) _7
428 :
429 : #define Z_GET_ARG_9(_0, _1, _2, _3, _4, _5, _6, _7, _8, ...) _8
430 :
431 : #define Z_GET_ARG_10(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, ...) _9
432 :
433 : #define Z_GET_ARG_11(_0, _1, _2, _3, _4, _5, \
434 : _6, _7, _8, _9, _10, ...) _10
435 :
436 : #define Z_GET_ARG_12(_0, _1, _2, _3, _4, _5, _6,\
437 : _7, _8, _9, _10, _11, ...) _11
438 :
439 : #define Z_GET_ARG_13(_0, _1, _2, _3, _4, _5, _6, \
440 : _7, _8, _9, _10, _11, _12, ...) _12
441 :
442 : #define Z_GET_ARG_14(_0, _1, _2, _3, _4, _5, _6, \
443 : _7, _8, _9, _10, _11, _12, _13, ...) _13
444 :
445 : #define Z_GET_ARG_15(_0, _1, _2, _3, _4, _5, _6, _7, \
446 : _8, _9, _10, _11, _12, _13, _14, ...) _14
447 :
448 : #define Z_GET_ARG_16(_0, _1, _2, _3, _4, _5, _6, _7, \
449 : _8, _9, _10, _11, _12, _13, _14, _15, ...) _15
450 :
451 : #define Z_GET_ARG_17(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
452 : _11, _12, _13, _14, _15, _16, ...) _16
453 :
454 : #define Z_GET_ARG_18(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
455 : _11, _12, _13, _14, _15, _16, _17, ...) _17
456 :
457 : #define Z_GET_ARG_19(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
458 : _11, _12, _13, _14, _15, _16, _17, _18, ...) _18
459 :
460 : #define Z_GET_ARG_20(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
461 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
462 : ...) _19
463 :
464 : #define Z_GET_ARG_21(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
465 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
466 : _20, ...) _20
467 :
468 : #define Z_GET_ARG_22(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
469 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
470 : _20, _21, ...) _21
471 :
472 : #define Z_GET_ARG_23(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
473 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
474 : _20, _21, _22, ...) _22
475 :
476 : #define Z_GET_ARG_24(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
477 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
478 : _20, _21, _22, _23, ...) _23
479 :
480 : #define Z_GET_ARG_25(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
481 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
482 : _20, _21, _22, _23, _24, ...) _24
483 :
484 : #define Z_GET_ARG_26(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
485 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
486 : _20, _21, _22, _23, _24, _25, ...) _25
487 :
488 : #define Z_GET_ARG_27(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
489 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
490 : _20, _21, _22, _23, _24, _25, _26, ...) _26
491 :
492 : #define Z_GET_ARG_28(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
493 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
494 : _20, _21, _22, _23, _24, _25, _26, _27, ...) _27
495 :
496 : #define Z_GET_ARG_29(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
497 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
498 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
499 : ...) _28
500 :
501 : #define Z_GET_ARG_30(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
502 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
503 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
504 : _29, ...) _29
505 :
506 : #define Z_GET_ARG_31(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
507 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
508 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
509 : _29, _30, ...) _30
510 :
511 : #define Z_GET_ARG_32(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
512 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
513 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
514 : _29, _30, _31, ...) _31
515 :
516 : #define Z_GET_ARG_33(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
517 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
518 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
519 : _29, _30, _31, _32, ...) _32
520 :
521 : #define Z_GET_ARG_34(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
522 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
523 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
524 : _29, _30, _31, _32, _33, ...) _33
525 :
526 : #define Z_GET_ARG_35(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
527 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
528 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
529 : _29, _30, _31, _32, _33, _34, ...) _34
530 :
531 : #define Z_GET_ARG_36(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
532 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
533 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
534 : _29, _30, _31, _32, _33, _34, _35, ...) _35
535 :
536 : #define Z_GET_ARG_37(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
537 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
538 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
539 : _29, _30, _31, _32, _33, _34, _35, _36, ...) _36
540 :
541 : #define Z_GET_ARG_38(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
542 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
543 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
544 : _29, _30, _31, _32, _33, _34, _35, _36, _37, ...) _37
545 :
546 : #define Z_GET_ARG_39(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
547 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
548 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
549 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
550 : _38, ...) _38
551 :
552 : #define Z_GET_ARG_40(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
553 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
554 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
555 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
556 : _38, _39, ...) _39
557 :
558 : #define Z_GET_ARG_41(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
559 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
560 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
561 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
562 : _38, _39, _40, ...) _40
563 :
564 : #define Z_GET_ARG_42(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
565 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
566 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
567 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
568 : _38, _39, _40, _41, ...) _41
569 :
570 : #define Z_GET_ARG_43(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
571 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
572 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
573 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
574 : _38, _39, _40, _41, _42, ...) _42
575 :
576 : #define Z_GET_ARG_44(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
577 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
578 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
579 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
580 : _38, _39, _40, _41, _42, _43, ...) _43
581 :
582 : #define Z_GET_ARG_45(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
583 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
584 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
585 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
586 : _38, _39, _40, _41, _42, _43, _44, ...) _44
587 :
588 : #define Z_GET_ARG_46(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
589 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
590 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
591 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
592 : _38, _39, _40, _41, _42, _43, _44, _45, ...) _45
593 :
594 : #define Z_GET_ARG_47(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
595 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
596 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
597 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
598 : _38, _39, _40, _41, _42, _43, _44, _45, _46, ...) _46
599 :
600 : #define Z_GET_ARG_48(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
601 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
602 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
603 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
604 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
605 : _47, ...) _47
606 :
607 : #define Z_GET_ARG_49(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
608 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
609 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
610 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
611 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
612 : _47, _48, ...) _48
613 :
614 : #define Z_GET_ARG_50(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
615 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
616 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
617 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
618 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
619 : _47, _48, _49, ...) _49
620 :
621 : #define Z_GET_ARG_51(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
622 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
623 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
624 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
625 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
626 : _47, _48, _49, _50, ...) _50
627 :
628 : #define Z_GET_ARG_52(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
629 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
630 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
631 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
632 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
633 : _47, _48, _49, _50, _51, ...) _51
634 :
635 : #define Z_GET_ARG_53(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
636 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
637 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
638 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
639 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
640 : _47, _48, _49, _50, _51, _52, ...) _52
641 :
642 : #define Z_GET_ARG_54(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
643 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
644 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
645 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
646 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
647 : _47, _48, _49, _50, _51, _52, _53, ...) _53
648 :
649 : #define Z_GET_ARG_55(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
650 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
651 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
652 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
653 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
654 : _47, _48, _49, _50, _51, _52, _53, _54, ...) _54
655 :
656 : #define Z_GET_ARG_56(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
657 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
658 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
659 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
660 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
661 : _47, _48, _49, _50, _51, _52, _53, _54, _55, ...) _55
662 :
663 : #define Z_GET_ARG_57(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
664 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
665 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
666 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
667 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
668 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
669 : _56, ...) _56
670 :
671 : #define Z_GET_ARG_58(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
672 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
673 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
674 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
675 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
676 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
677 : _56, _57, ...) _57
678 :
679 : #define Z_GET_ARG_59(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
680 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
681 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
682 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
683 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
684 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
685 : _56, _57, _58, ...) _58
686 :
687 : #define Z_GET_ARG_60(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
688 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
689 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
690 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
691 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
692 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
693 : _56, _57, _58, _59, ...) _59
694 :
695 : #define Z_GET_ARG_61(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
696 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
697 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
698 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
699 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
700 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
701 : _56, _57, _58, _59, _60, ...) _60
702 :
703 : #define Z_GET_ARG_62(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
704 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
705 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
706 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
707 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
708 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
709 : _56, _57, _58, _59, _60, _61, ...) _61
710 :
711 : #define Z_GET_ARG_63(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
712 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
713 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
714 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
715 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
716 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
717 : _56, _57, _58, _59, _60, _61, _62, ...) _62
718 :
719 : #define Z_GET_ARG_64(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
720 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
721 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
722 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
723 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
724 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
725 : _56, _57, _58, _59, _60, _61, _62, _63, ...) _63
726 :
727 : #define Z_GET_ARGS_LESS_0(...) __VA_ARGS__
728 :
729 : #define Z_GET_ARGS_LESS_1(_0, ...) __VA_ARGS__
730 :
731 : #define Z_GET_ARGS_LESS_2(_0, _1, ...) __VA_ARGS__
732 :
733 : #define Z_GET_ARGS_LESS_3(_0, _1, _2, ...) __VA_ARGS__
734 :
735 : #define Z_GET_ARGS_LESS_4(_0, _1, _2, _3, ...) __VA_ARGS__
736 :
737 : #define Z_GET_ARGS_LESS_5(_0, _1, _2, _3, _4, ...) __VA_ARGS__
738 :
739 : #define Z_GET_ARGS_LESS_6(_0, _1, _2, _3, _4, _5, ...) __VA_ARGS__
740 :
741 : #define Z_GET_ARGS_LESS_7(_0, _1, _2, _3, _4, _5, _6, ...) __VA_ARGS__
742 :
743 : #define Z_GET_ARGS_LESS_8(_0, _1, _2, _3, _4, _5, \
744 : _6, _7, ...) __VA_ARGS__
745 :
746 : #define Z_GET_ARGS_LESS_9(_0, _1, _2, _3, _4, _5, \
747 : _6, _7, _8, ...) __VA_ARGS__
748 :
749 : #define Z_GET_ARGS_LESS_10(_0, _1, _2, _3, _4, _5, \
750 : _6, _7, _8, _9, ...) __VA_ARGS__
751 :
752 : #define Z_GET_ARGS_LESS_11(_0, _1, _2, _3, _4, _5, \
753 : _6, _7, _8, _9, _10, ...) __VA_ARGS__
754 :
755 : #define Z_GET_ARGS_LESS_12(_0, _1, _2, _3, _4, _5, _6,\
756 : _7, _8, _9, _10, _11, ...) __VA_ARGS__
757 :
758 : #define Z_GET_ARGS_LESS_13(_0, _1, _2, _3, _4, _5, _6, \
759 : _7, _8, _9, _10, _11, _12, ...) __VA_ARGS__
760 :
761 : #define Z_GET_ARGS_LESS_14(_0, _1, _2, _3, _4, _5, _6, \
762 : _7, _8, _9, _10, _11, _12, _13, \
763 : ...) __VA_ARGS__
764 :
765 : #define Z_GET_ARGS_LESS_15(_0, _1, _2, _3, _4, _5, _6, _7, \
766 : _8, _9, _10, _11, _12, _13, _14, \
767 : ...) __VA_ARGS__
768 :
769 : #define Z_GET_ARGS_LESS_16(_0, _1, _2, _3, _4, _5, _6, _7, \
770 : _8, _9, _10, _11, _12, _13, _14, _15, ...) \
771 : __VA_ARGS__
772 :
773 : #define Z_GET_ARGS_LESS_17(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
774 : _11, _12, _13, _14, _15, _16, ...) __VA_ARGS__
775 :
776 : #define Z_GET_ARGS_LESS_18(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
777 : _11, _12, _13, _14, _15, _16, _17, ...) \
778 : __VA_ARGS__
779 :
780 : #define Z_GET_ARGS_LESS_19(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
781 : _11, _12, _13, _14, _15, _16, _17, _18, ...) \
782 : __VA_ARGS__
783 :
784 : #define Z_GET_ARGS_LESS_20(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
785 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
786 : ...) __VA_ARGS__
787 :
788 : #define Z_GET_ARGS_LESS_21(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
789 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
790 : _20, ...) __VA_ARGS__
791 :
792 : #define Z_GET_ARGS_LESS_22(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
793 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
794 : _20, _21, ...) __VA_ARGS__
795 :
796 : #define Z_GET_ARGS_LESS_23(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
797 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
798 : _20, _21, _22, ...) __VA_ARGS__
799 :
800 : #define Z_GET_ARGS_LESS_24(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
801 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
802 : _20, _21, _22, _23, ...) __VA_ARGS__
803 :
804 : #define Z_GET_ARGS_LESS_25(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
805 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
806 : _20, _21, _22, _23, _24, ...) __VA_ARGS__
807 :
808 : #define Z_GET_ARGS_LESS_26(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
809 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
810 : _20, _21, _22, _23, _24, _25, ...) __VA_ARGS__
811 :
812 : #define Z_GET_ARGS_LESS_27(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
813 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
814 : _20, _21, _22, _23, _24, _25, _26, ...) \
815 : __VA_ARGS__
816 :
817 : #define Z_GET_ARGS_LESS_28(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
818 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
819 : _20, _21, _22, _23, _24, _25, _26, _27, \
820 : ...) __VA_ARGS__
821 :
822 : #define Z_GET_ARGS_LESS_29(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
823 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
824 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
825 : ...) __VA_ARGS__
826 :
827 : #define Z_GET_ARGS_LESS_30(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
828 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
829 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
830 : _29, ...) __VA_ARGS__
831 :
832 : #define Z_GET_ARGS_LESS_31(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
833 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
834 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
835 : _29, _30, ...) __VA_ARGS__
836 :
837 : #define Z_GET_ARGS_LESS_32(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
838 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
839 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
840 : _29, _30, _31, ...) __VA_ARGS__
841 :
842 : #define Z_GET_ARGS_LESS_33(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
843 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
844 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
845 : _29, _30, _31, _32, ...) __VA_ARGS__
846 :
847 : #define Z_GET_ARGS_LESS_34(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
848 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
849 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
850 : _29, _30, _31, _32, _33, ...) __VA_ARGS__
851 :
852 : #define Z_GET_ARGS_LESS_35(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
853 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
854 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
855 : _29, _30, _31, _32, _33, _34, ...) __VA_ARGS__
856 :
857 : #define Z_GET_ARGS_LESS_36(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
858 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
859 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
860 : _29, _30, _31, _32, _33, _34, _35, ...) __VA_ARGS__
861 :
862 : #define Z_GET_ARGS_LESS_37(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
863 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
864 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
865 : _29, _30, _31, _32, _33, _34, _35, _36, ...) __VA_ARGS__
866 :
867 : #define Z_GET_ARGS_LESS_38(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
868 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
869 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
870 : _29, _30, _31, _32, _33, _34, _35, _36, _37, ...) __VA_ARGS__
871 :
872 : #define Z_GET_ARGS_LESS_39(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
873 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
874 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
875 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
876 : _38, ...) __VA_ARGS__
877 :
878 : #define Z_GET_ARGS_LESS_40(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
879 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
880 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
881 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
882 : _38, _39, ...) __VA_ARGS__
883 :
884 : #define Z_GET_ARGS_LESS_41(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
885 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
886 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
887 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
888 : _38, _39, _40, ...) __VA_ARGS__
889 :
890 : #define Z_GET_ARGS_LESS_42(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
891 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
892 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
893 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
894 : _38, _39, _40, _41, ...) __VA_ARGS__
895 :
896 : #define Z_GET_ARGS_LESS_43(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
897 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
898 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
899 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
900 : _38, _39, _40, _41, _42, ...) __VA_ARGS__
901 :
902 : #define Z_GET_ARGS_LESS_44(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
903 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
904 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
905 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
906 : _38, _39, _40, _41, _42, _43, ...) __VA_ARGS__
907 :
908 : #define Z_GET_ARGS_LESS_45(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
909 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
910 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
911 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
912 : _38, _39, _40, _41, _42, _43, _44, ...) __VA_ARGS__
913 :
914 : #define Z_GET_ARGS_LESS_46(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
915 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
916 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
917 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
918 : _38, _39, _40, _41, _42, _43, _44, _45, ...) __VA_ARGS__
919 :
920 : #define Z_GET_ARGS_LESS_47(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
921 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
922 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
923 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
924 : _38, _39, _40, _41, _42, _43, _44, _45, _46, ...) __VA_ARGS__
925 :
926 : #define Z_GET_ARGS_LESS_48(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
927 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
928 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
929 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
930 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
931 : _47, ...) __VA_ARGS__
932 :
933 : #define Z_GET_ARGS_LESS_49(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
934 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
935 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
936 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
937 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
938 : _47, _48, ...) __VA_ARGS__
939 :
940 : #define Z_GET_ARGS_LESS_50(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
941 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
942 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
943 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
944 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
945 : _47, _48, _49, ...) __VA_ARGS__
946 :
947 : #define Z_GET_ARGS_LESS_51(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
948 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
949 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
950 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
951 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
952 : _47, _48, _49, _50, ...) __VA_ARGS__
953 :
954 : #define Z_GET_ARGS_LESS_52(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
955 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
956 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
957 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
958 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
959 : _47, _48, _49, _50, _51, ...) __VA_ARGS__
960 :
961 : #define Z_GET_ARGS_LESS_53(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
962 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
963 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
964 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
965 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
966 : _47, _48, _49, _50, _51, _52, ...) __VA_ARGS__
967 :
968 : #define Z_GET_ARGS_LESS_54(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
969 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
970 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
971 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
972 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
973 : _47, _48, _49, _50, _51, _52, _53, ...) __VA_ARGS__
974 :
975 : #define Z_GET_ARGS_LESS_55(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
976 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
977 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
978 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
979 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
980 : _47, _48, _49, _50, _51, _52, _53, _54, ...) __VA_ARGS__
981 :
982 : #define Z_GET_ARGS_LESS_56(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
983 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
984 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
985 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
986 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
987 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
988 : ...) __VA_ARGS__
989 :
990 : #define Z_GET_ARGS_LESS_57(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
991 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
992 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
993 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
994 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
995 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
996 : _56, ...) __VA_ARGS__
997 :
998 : #define Z_GET_ARGS_LESS_58(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
999 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1000 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1001 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1002 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1003 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1004 : _56, _57, ...) __VA_ARGS__
1005 :
1006 : #define Z_GET_ARGS_LESS_59(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1007 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1008 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1009 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1010 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1011 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1012 : _56, _57, _58, ...) __VA_ARGS__
1013 :
1014 : #define Z_GET_ARGS_LESS_60(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1015 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1016 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1017 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1018 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1019 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1020 : _56, _57, _58, _59, ...) __VA_ARGS__
1021 :
1022 : #define Z_GET_ARGS_LESS_61(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1023 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1024 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1025 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1026 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1027 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1028 : _56, _57, _58, _59, _60, ...) __VA_ARGS__
1029 :
1030 : #define Z_GET_ARGS_LESS_62(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1031 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1032 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1033 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1034 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1035 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1036 : _56, _57, _58, _59, _60, _61, ...) __VA_ARGS__
1037 :
1038 : #define Z_GET_ARGS_LESS_63(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1039 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1040 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1041 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1042 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1043 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1044 : _56, _57, _58, _59, _60, _61, _62, ...) __VA_ARGS__
1045 :
1046 : #define Z_GET_ARGS_LESS_64(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
1047 : _11, _12, _13, _14, _15, _16, _17, _18, _19, \
1048 : _20, _21, _22, _23, _24, _25, _26, _27, _28, \
1049 : _29, _30, _31, _32, _33, _34, _35, _36, _37, \
1050 : _38, _39, _40, _41, _42, _43, _44, _45, _46, \
1051 : _47, _48, _49, _50, _51, _52, _53, _54, _55, \
1052 : _56, _57, _58, _59, _60, _61, _62, _63, ...) __VA_ARGS__
1053 :
1054 : #define Z_FOR_EACH_IDX_FIXED_ARG_EXEC(idx, x, fixed_arg0, fixed_arg1) \
1055 : fixed_arg0(idx, x, fixed_arg1)
1056 :
1057 : #define Z_FOR_EACH_IDX_FIXED_ARG(F, sep, fixed_arg, ...) \
1058 : Z_FOR_EACH_ENGINE(Z_FOR_EACH_IDX_FIXED_ARG_EXEC, sep, \
1059 : F, fixed_arg, __VA_ARGS__)
1060 :
1061 : #define Z_FOR_EACH_FIXED_ARG_EXEC(idx, x, fixed_arg0, fixed_arg1) \
1062 : fixed_arg0(x, fixed_arg1)
1063 :
1064 : #define Z_FOR_EACH_FIXED_ARG(F, sep, fixed_arg, ...) \
1065 : Z_FOR_EACH_ENGINE(Z_FOR_EACH_FIXED_ARG_EXEC, sep, \
1066 : F, fixed_arg, __VA_ARGS__)
1067 :
1068 : #define Z_FOR_EACH_IDX_EXEC(idx, x, fixed_arg0, fixed_arg1) \
1069 : fixed_arg0(idx, x)
1070 :
1071 : #define Z_FOR_EACH_IDX(F, sep, ...) \
1072 : Z_FOR_EACH_ENGINE(Z_FOR_EACH_IDX_EXEC, sep, F, _, __VA_ARGS__)
1073 :
1074 : #define Z_FOR_EACH_EXEC(idx, x, fixed_arg0, fixed_arg1) \
1075 : fixed_arg0(x)
1076 :
1077 : #define Z_FOR_EACH(F, sep, ...) \
1078 : Z_FOR_EACH_ENGINE(Z_FOR_EACH_EXEC, sep, F, _, __VA_ARGS__)
1079 :
1080 : #define Z_BYPASS(x) x
1081 :
1082 : /* Set of UTIL_LISTIFY particles */
1083 : #include "util_listify.h"
1084 :
1085 : #endif /* ZEPHYR_INCLUDE_SYS_UTIL_LOOPS_H_ */
|