Utilities for preprocessor metaprogramming. More...
Go to the source code of this file.
Macros | |
#define | AURORA_PP_LIMIT 5 |
Limit for preprocessor metaprogramming arguments. More... | |
#define | AURORA_PP_CAT(a, b) |
Concatenate two expressions (evaluated ## operator) More... | |
#define | AURORA_PP_STRINGIZE(a) |
Convert expression to string (evaluated # operator) More... | |
#define | AURORA_PP_IF(condition, trueCase, falseCase) |
Conditional evaluation. More... | |
#define | AURORA_PP_ENUMERATE(n, macro) |
Apply a macro repeated times. More... | |
#define | AURORA_PP_ENUMERATE_COMMA(n, macro) |
Apply a macro repeated times, comma-separated. More... | |
#define | AURORA_PP_COMMA_IF(n) |
Comma if non-zero argument. More... | |
#define | AURORA_PP_AT(size, n, tuple) |
Access element of tuple. More... | |
#define | AURORA_PP_FOREACH(macro, tuple) |
Apply macro for each element in tuple. More... | |
#define | AURORA_PP_FOREACH_DATA(macro, tuple, data) |
Apply macro for each element in tuple, with additional argument. More... | |
#define | AURORA_PP_POSITIVE_SIZE(tuple) |
Size of a non-empty preprocessor tuple. More... | |
#define | AURORA_PP_SIZE(tuple) |
Size of a preprocessor tuple. More... | |
Utilities for preprocessor metaprogramming.