P99
Macros
Preprocessor FOR loops
+ Collaboration diagram for Preprocessor FOR loops:

Macros

#define P99_BIGFUNC(FUNC, M, ...)   P99_FOR(FUNC, M, P00_FUNC, P00_IDT, __VA_ARGS__)
 Realize the right associative call of binary function FUNC of all the arguments. More...
 
#define P99_BIGOP(OP, M, ...)   P99_FOR( , M, OP, P00_IDT, __VA_ARGS__)
 Realize the right associative operation OP of all the arguments. More...
 
#define P99_FOR(NAME, N, OP, FUNC, ...)
 A preprocessor pseudo iterator. More...
 
#define P99_NAME(N, NAME)   P99_FOR(NAME, N, P00_SEQ, P00_NAME_I, P99_REP(N,))
 generate lists of names of the form NAME0, NAME1, ... More...
 
#define P99_REPEAT(MACRO, N)   P99_FOR(MACRO, N, P00_SEQ, P00_REPEAT, P99_DUPL(N,))
 Apply the macro MACRO N times. More...
 
#define P99_REVS(...)   P00_REVS(P99_NARG(__VA_ARGS__),__VA_ARGS__)
 Revert the argument list. More...
 
#define P99_SEA(MACRO, ...)   P00_MAP_(P99_NARG(__VA_ARGS__), MACRO, (+), __VA_ARGS__)
 Apply the macro MACRO to the rest of the argument list. More...
 
#define P99_SEM(MACRO, ...)   P00_MAP_(P99_NARG(__VA_ARGS__), MACRO, (*), __VA_ARGS__)
 Apply the macro MACRO to the rest of the argument list. More...
 
#define P99_SEP(MACRO, ...)   P00_MAP_(P99_NARG(__VA_ARGS__), MACRO, (;), __VA_ARGS__)
 Apply the macro MACRO to the rest of the argument list. More...
 
#define P99_SEQ(MACRO, ...)   P00_MAP_(P99_NARG(__VA_ARGS__), MACRO, (,), __VA_ARGS__)
 Apply the macro MACRO to the rest of the argument list. More...
 
#define P99_SER(MACRO, ...)   P00_MAP_(P99_NARG(__VA_ARGS__), MACRO, ( ), __VA_ARGS__)
 Apply the macro MACRO to the rest of the argument list. More...
 
#define P99_UNROLL(MACRO, N)   P99_FOR(MACRO, N, P00_SEP, P00_REPEAT, P99_DUPL(N,))
 Apply the macro MACRO N times. More...
 

Detailed Description

P99_SEP
#define P99_SEP(MACRO,...)
Apply the macro MACRO to the rest of the argument list.
Definition: p99_for.h:297
P99_DUPL
#define P99_DUPL(...)
Construct a list that repeats the argument list N times.
Definition: p99_list.h:90
P99_FOR
#define P99_FOR(NAME, N, OP, FUNC,...)
A preprocessor pseudo iterator.
Definition: p99_for.h:92