Zephyr API Documentation
4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
util_loops.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021, Nordic Semiconductor ASA
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
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_ */
util_listify.h
zephyr
sys
util_loops.h
Generated on Tue Nov 12 2024 18:02:54 for Zephyr API Documentation by
1.12.0