Go to the documentation of this file.
19 #define EXPAND(...) __VA_ARGS__
20 #define STUFF_P(a, ...) __VA_OPT__(a)
21 #define STUFF(...) STUFF_P(__VA_ARGS__)
22 #define VA_TEST_P(a, ...) __VA_OPT__(NO)##THING
23 #define VA_TEST(...) VA_TEST_P(__VA_ARGS__)
24 #define NEGATE(a) VA_TEST(a, a)
25 #define COND_P(cond, a, b) STUFF(a, cond)STUFF(b, NEGATE(cond))
26 #define COND(cond, a, b) EXPAND(COND_P(cond, a, b))