4 #define PP_CONCAT(x, y) x ## y
12 #define PP_STR(...) #__VA_ARGS__
16 #define PP_STR_VAL(...) PP_STR(__VA_ARGS__)
21 _1, _2, _3, _4, _5, _6, _7, _8, _9, _10,
22 _11, _12, _13, _14, _15, _16, _17, _18, _19, _20,
23 _21, _22, _23, _24, _25, _26, _27, _28, _29, _30,
24 _31, _32, _33, _34, _35, _36, _37, _38, _39, _40,
25 _41, _42, _43, _44, _45, _46, _47, _48, _49, _50,
26 _51, _52, _53, _54, _55, _56, _57, _58, _59, _60,
27 _61, _62, _63, _64, N, ...) N
32 PP_ARG_N(__VA_ARGS__, 64
, 63
, 62
, 61
, 60
, 59
, 58
, 57
, 56
, 55
,
33 54
, 53
, 52
, 51
, 50
, 49
, 48
, 47
, 46
, 45
, 44
, 43
, 42
, 41
, 40
,
34 39
, 38
, 37
, 36
, 35
, 34
, 33
, 32
, 31
, 30
, 29
, 28
, 27
, 26
, 25
,
35 24
, 23
, 22
, 21
, 20
, 19
, 18
, 17
, 16
, 15
, 14
, 13
, 12
, 11
, 10
,
36 9
, 8
, 7
, 6
, 5
, 4
, 3
, 2
, 1
, 0
)
40 #define PP_EVAL_0(...) __VA_ARGS__
59 #define PP_FOREACH_END(...)
62 #define PP_FOREACH_OUT
64#ifndef PP_FOREACH_COMMA
65 #define PP_FOREACH_COMMA ,
68#ifndef PP_FOREACH_GET_END2
71#ifndef PP_FOREACH_GET_END1
74#ifndef PP_FOREACH_GET_END
77#ifndef PP_FOREACH_NEXT0
80#ifndef PP_FOREACH_NEXT1
83#ifndef PP_FOREACH_NEXT
94#ifndef PP_FOREACH_LIST_NEXT1
97#ifndef PP_FOREACH_LIST_NEXT
101#ifndef PP_FOREACH_LIST0
104#ifndef PP_FOREACH_LIST1
109
110
111
#define PP_FOREACH_LIST1(f, x, peek,...)
Definition Preprocessor.h:105
#define PP_FOREACH_OUT
Definition Preprocessor.h:62
#define PP_FOREACH_GET_END2()
Definition Preprocessor.h:69
#define PP_FOREACH_NEXT1(test, next)
Definition Preprocessor.h:81
#define PP_FOREACH_GET_END(...)
Definition Preprocessor.h:75
#define PP_EVAL_0(...)
Definition Preprocessor.h:40
#define PP_FOREACH_NEXT(test, next)
Definition Preprocessor.h:84
#define PP_ARG_N( _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, N,...)
Definition Preprocessor.h:20
#define PP_EVAL(...)
Definition Preprocessor.h:55
#define PP_CONCAT(x, y)
Definition Preprocessor.h:4
#define PP_STR(...)
Definition Preprocessor.h:12
#define PP_FOREACH_COMMA
Definition Preprocessor.h:65
#define PP_FOREACH_LIST_NEXT(test, next)
Definition Preprocessor.h:98
#define PP_EVAL_4(...)
Definition Preprocessor.h:52
#define PP_FOREACH_1(f, x, peek,...)
Definition Preprocessor.h:91
#define PP_FOREACH_LIST0(f, x, peek,...)
Definition Preprocessor.h:102
#define PP_FOREACH_NEXT0(test, next,...)
Definition Preprocessor.h:78
#define PP_EVAL_3(...)
Definition Preprocessor.h:49
#define PP_FOREACH_END(...)
Definition Preprocessor.h:59
#define PP_EVAL_1(...)
Definition Preprocessor.h:43
#define PP_FOREACH_GET_END1(...)
Definition Preprocessor.h:72
#define PP_FOREACH_LIST_NEXT1(test, next)
Definition Preprocessor.h:95
#define PP_EVAL_2(...)
Definition Preprocessor.h:46
#define PP_FOREACH_0(f, x, peek,...)
Definition Preprocessor.h:88