|
120 | 120 | #define __VEG_PP_IS_1(X) __VEG_IMPL_PP_IS_1_I(X) |
121 | 121 | #define __VEG_PP_IS_0(X) __VEG_PP_IS_1(__VEG_IMPL_PP_INC_I(X)) |
122 | 122 |
|
| 123 | +#define __VEG_PP_ID(X) X |
123 | 124 |
|
124 | | -#define __VEG_IMPL_PP_VARIADIC_SIZE(...) __VEG_IMPL_PP_COUNT(__VA_ARGS__, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) |
| 125 | +#define __VEG_IMPL_PP_VARIADIC_SIZE(...) __VEG_PP_ID(__VEG_IMPL_PP_COUNT(__VA_ARGS__, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)) |
125 | 126 |
|
126 | 127 | #define __VEG_IMPL_PP_MAKE_TUPLE0 () |
127 | 128 | #define __VEG_IMPL_PP_MAKE_TUPLE1 (0) |
|
402 | 403 | __VEG_IMPL_PP_IS_1(__VEG_PP_TUPLE_SIZE(Tuple))) \ |
403 | 404 | (Macro, Data, Tuple) |
404 | 405 |
|
405 | | -#define __VEG_PP_TUPLE_SIZE(Tuple) __VEG_IMPL_PP_VARIADIC_SIZE Tuple |
| 406 | +#define __VEG_PP_TUPLE_SIZE(Tuple) \ |
| 407 | + __VEG_PP_ID(__VEG_IMPL_PP_VARIADIC_SIZE Tuple) |
406 | 408 | #define __VEG_PP_SEQ_HEAD(Seq) \ |
407 | 409 | __VEG_IMPL_PP_SEQ_HEAD_0 Seq) |
408 | 410 | #define __VEG_PP_SEQ_TAIL(Seq) __VEG_IMPL_PP_CONSUME Seq |
|
421 | 423 | #define __VEG_PP_CAT2(A, ...) __VEG_IMPL_PP_CAT2(A, __VA_ARGS__) |
422 | 424 | #define __VEG_PP_CAT3(A, ...) __VEG_IMPL_PP_CAT3(A, __VA_ARGS__) |
423 | 425 | #define __VEG_PP_REMOVE_PAREN(...) \ |
424 | | - __VEG_IMPL_PP_REMOVE_PAREN2(__VEG_IMPL_PP_REMOVE_PAREN1 __VA_ARGS__) |
| 426 | + __VEG_IMPL_PP_REMOVE_PAREN2( \ |
| 427 | + __VEG_PP_ID(__VEG_IMPL_PP_REMOVE_PAREN1 __VA_ARGS__)) |
425 | 428 | #define __VEG_PP_REMOVE_PAREN1(...) \ |
426 | | - __VEG_IMPL_PP_REMOVE_PAREN21(__VEG_IMPL_PP_REMOVE_PAREN11 __VA_ARGS__) |
427 | | -#define __VEG_PP_UNWRAP(...) __VEG_PP_HEAD __VA_ARGS__ __VEG_PP_TAIL __VA_ARGS__ |
| 429 | + __VEG_IMPL_PP_REMOVE_PAREN21( \ |
| 430 | + __VEG_PP_ID(__VEG_IMPL_PP_REMOVE_PAREN11 __VA_ARGS__)) |
| 431 | +#define __VEG_PP_UNWRAP(...) \ |
| 432 | + __VEG_PP_ID(__VEG_PP_HEAD __VA_ARGS__ __VEG_PP_TAIL __VA_ARGS__) |
428 | 433 |
|
429 | 434 | #endif /* end of include guard VEG_PREPROCESSOR_HPP_U2V3WRWYS */ |
0 commit comments