LCOV - code coverage report
Current view: top level - zephyr/sys - util_loops.h Coverage Total Hit
Test: new.info Lines: 100.0 % 1 1
Test Date: 2025-09-05 16:43:28

            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_ */
        

Generated by: LCOV version 2.0-1