|
| #define | ARGS_1(a1, ...) a1 |
| |
| #define | ARGS_2(a1, a2, ...) a2 |
| |
| #define | ARGS_3(a1, a2, a3, ...) a3 |
| |
| #define | ARGS_4(a1, a2, a3, a4, ...) a4 |
| |
| #define | ARGS_5(a1, a2, a3, a4, a5, ...) a5 |
| |
| #define | ARGS_6(a1, a2, a3, a4, a5, a6, ...) a6 |
| |
| #define | ARGS_7(a1, a2, a3, a4, a5, a6, a7, ...) a7 |
| |
| #define | ARGS_8(a1, a2, a3, a4, a5, a6, a7, a8, ...) a8 |
| |
| #define | ARGS_9(a1, a2, a3, a4, a5, a6, a7, a8, a9, ...) a9 |
| |
| #define | ARGS_10(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, ...) a10 |
| |
| #define | ARGS_11(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, ...) a11 |
| |
| #define | ARGS_12(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, ...) a12 |
| |
| #define | ARGS_13(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, ...) a13 |
| |
| #define | ARGS_14(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, ...) a14 |
| |
| #define | ARGS_15(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, ...) a15 |
| |
| #define | ARGS_16(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, ...) a16 |
| |
| #define | ARGS_17(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, ...) a17 |
| |
| #define | ARGS_18(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, ...) a18 |
| |
| #define | ARGS_19(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, ...) a19 |
| |
| #define | ARGS_20(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, ...) a20 |
| |
| #define | ARGS_21(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, ...) a21 |
| |
| #define | EXPAND(x) x |
| |
| #define | COUNT_ARGS(...) |
| |
| #define | __NARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, N, ...) N |
| |
| #define | EXTRACT_TYPES_PARAMS_0(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_1(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_2(...) EXPAND(ARGS_1(__VA_ARGS__)) EXPAND(ARGS_2(__VA_ARGS__)) |
| |
| #define | EXTRACT_TYPES_PARAMS_4(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_6(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_8(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_10(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_12(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_14(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_16(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_18(...) |
| |
| #define | EXTRACT_TYPES_PARAMS_20(...) |
| |
| #define | EXTRACT_TYPES_PARAMS(num_args, ...) EXTRACT_TYPES_PARAMS_##num_args(__VA_ARGS__) |
| |
| #define | EXTRACT_PARAMS_0(...) |
| |
| #define | EXTRACT_PARAMS_1(...) |
| |
| #define | EXTRACT_PARAMS_2(...) EXPAND(ARGS_2(__VA_ARGS__)) |
| |
| #define | EXTRACT_PARAMS_4(...) EXPAND(ARGS_2(__VA_ARGS__)), EXPAND(ARGS_4(__VA_ARGS__)) |
| |
| #define | EXTRACT_PARAMS_6(...) |
| |
| #define | EXTRACT_PARAMS_8(...) |
| |
| #define | EXTRACT_PARAMS_10(...) |
| |
| #define | EXTRACT_PARAMS_12(...) |
| |
| #define | EXTRACT_PARAMS_14(...) |
| |
| #define | EXTRACT_PARAMS_16(...) |
| |
| #define | EXTRACT_PARAMS_18(...) |
| |
| #define | EXTRACT_PARAMS_20(...) |
| |
| #define | EXTRACT_PARAMS(num_args, ...) EXTRACT_PARAMS_##num_args(__VA_ARGS__) |
| |