|
#define | P99_ALLBUTLAST(...) P99_PASTE2(P00_PRE,P99_PRED(P00_NARG(__VA_ARGS__)))(__VA_ARGS__,) |
| Obtain all elements but the last of a list. More...
|
|
#define | P99_CHS(N, ...) P00_CHS(P99_SKP(N, __VA_ARGS__)) |
| Choose the Nth element in the remaining argument list. More...
|
|
#define | P99_DUPL(...) P99_PASTE2(P00_DUPL_0_, P99_IS_LT(P99_NARG(__VA_ARGS__), 2))(__VA_ARGS__) |
| Construct a list that repeats the argument list N times. More...
|
|
#define | P99_HAS_COMMA(...) |
| Determine of the argument list has a comma, i.e at least two arguments. More...
|
|
#define | P99_IS_EMPTY(...) |
| Test if the argument list is empty. More...
|
|
#define | P99_LAST(...) P99_CHS(P99_PRED(P00_NARG(__VA_ARGS__)), __VA_ARGS__,) |
| Obtain the last element of a list. More...
|
|
#define | P99_NARG(...) P00_NARG__1(P99_IS_EMPTY(__VA_ARGS__), P00_NARG(__VA_ARGS__)) |
| Return the length of the variable length argument list, where an empty argument list is considered to have 0 arguments. More...
|
|
#define | P99_SELS(N, ...) P99_PASTE2(P00_PRE, N)(__VA_ARGS__) |
|
#define | P99_SKP(N, ...) P99_PASTE2(P00_SKP, N)(__VA_ARGS__) |
| Skip N elements in the remaining argument list. More...
|
|
#define | P99_SUB(N, L, ...) P00_SUB(L, P99_SKP(N, __VA_ARGS__)) |
| Get the sublist of length L starting at the Nth element in the remaining argument list. More...
|
|