ATLAS Offline Software
|
Preprocessor utilities. More...
Go to the source code of this file.
Macros | |
#define | CXXUTILS_PP_FIRST(...) CXXUTILS_PP_ARG1(__VA_ARGS__) |
#define | CXXUTILS_PP_ARG1(...) __VA_OPT__(CXXUTILS_PP_ARG1_(__VA_ARGS__)) |
#define | CXXUTILS_PP_ARG1_(A, ...) , A |
#define | CXXUTILS_PP_SECOND(...) CXXUTILS_PP_ARG2(__VA_ARGS__) |
#define | CXXUTILS_PP_ARG2(...) __VA_OPT__(CXXUTILS_PP_ARG2_(__VA_ARGS__)) |
#define | CXXUTILS_PP_ARG2_(A, ...) CXXUTILS_PP_ARG1(__VA_ARGS__) |
#define | CXXUTILS_PP_THIRD(...) CXXUTILS_PP_ARG3(__VA_ARGS__) |
#define | CXXUTILS_PP_ARG3(...) __VA_OPT__(CXXUTILS_PP_ARG3_(__VA_ARGS__)) |
#define | CXXUTILS_PP_ARG3_(A, ...) CXXUTILS_PP_ARG2(__VA_ARGS__) |
#define | CXXUTILS_PP_FOURTH(...) CXXUTILS_PP_ARG4(__VA_ARGS__) |
#define | CXXUTILS_PP_ARG4(...) __VA_OPT__(CXXUTILS_PP_ARG4_(__VA_ARGS__)) |
#define | CXXUTILS_PP_ARG4_(A, ...) CXXUTILS_PP_ARG3(__VA_ARGS__) |
#define | CXXUTILS_PP_FIFTH(...) CXXUTILS_PP_ARG5(__VA_ARGS__) |
#define | CXXUTILS_PP_ARG5(...) __VA_OPT__(CXXUTILS_PP_ARG5_(__VA_ARGS__)) |
#define | CXXUTILS_PP_ARG5_(A, ...) CXXUTILS_PP_ARG4(__VA_ARGS__) |
Preprocessor utilities.
CXXUTILS_PP_FIRST
returns a comma followed by the first argument if it exists; otherwise, it expands to nothing. CXXUTILS_PP_SECOND
does the same thing for the second argument, and so on through @CXXUTILS_PP_FIFTH.That is:
CXXUTILS_PP_ARG1
through CXXUTILS_PP_ARG5
are also available as synonyms that may be more useful if these are used through the expansion of other macros.
Definition in file pputils.h.
#define CXXUTILS_PP_ARG1 | ( | ... | ) | __VA_OPT__(CXXUTILS_PP_ARG1_(__VA_ARGS__)) |
#define CXXUTILS_PP_ARG2 | ( | ... | ) | __VA_OPT__(CXXUTILS_PP_ARG2_(__VA_ARGS__)) |
#define CXXUTILS_PP_ARG2_ | ( | A, | |
... | |||
) | CXXUTILS_PP_ARG1(__VA_ARGS__) |
#define CXXUTILS_PP_ARG3 | ( | ... | ) | __VA_OPT__(CXXUTILS_PP_ARG3_(__VA_ARGS__)) |
#define CXXUTILS_PP_ARG3_ | ( | A, | |
... | |||
) | CXXUTILS_PP_ARG2(__VA_ARGS__) |
#define CXXUTILS_PP_ARG4 | ( | ... | ) | __VA_OPT__(CXXUTILS_PP_ARG4_(__VA_ARGS__)) |
#define CXXUTILS_PP_ARG4_ | ( | A, | |
... | |||
) | CXXUTILS_PP_ARG3(__VA_ARGS__) |
#define CXXUTILS_PP_ARG5 | ( | ... | ) | __VA_OPT__(CXXUTILS_PP_ARG5_(__VA_ARGS__)) |
#define CXXUTILS_PP_ARG5_ | ( | A, | |
... | |||
) | CXXUTILS_PP_ARG4(__VA_ARGS__) |
#define CXXUTILS_PP_FIFTH | ( | ... | ) | CXXUTILS_PP_ARG5(__VA_ARGS__) |
#define CXXUTILS_PP_FIRST | ( | ... | ) | CXXUTILS_PP_ARG1(__VA_ARGS__) |
#define CXXUTILS_PP_FOURTH | ( | ... | ) | CXXUTILS_PP_ARG4(__VA_ARGS__) |
#define CXXUTILS_PP_SECOND | ( | ... | ) | CXXUTILS_PP_ARG2(__VA_ARGS__) |
#define CXXUTILS_PP_THIRD | ( | ... | ) | CXXUTILS_PP_ARG3(__VA_ARGS__) |