P99
Macros
p99_list.h File Reference

Basis macros to process the parameter list of a variadic macro. More...

#include "p99_generated.h"
+ Include dependency graph for p99_list.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define P99_BRACES(...)   P99_PASTE2(P00_BRACES_, P99_IS_LT(P99_NARG(__VA_ARGS__), 1))(P99_NARG(__VA_ARGS__), __VA_ARGS__)
 
#define P99_BRACKETS(...)   P99_PASTE2(P00_BRACKETS_, P99_IS_LT(P99_NARG(__VA_ARGS__), 1))(P99_NARG(__VA_ARGS__), __VA_ARGS__)
 
#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_PARENS(...)   P99_PASTE2(P00_PARENS_, P99_IS_LT(P99_NARG(__VA_ARGS__), 1))(P99_NARG(__VA_ARGS__), __VA_ARGS__)
 
#define P99_REP(...)   P99_PASTE2(P00_REP_0_, P99_IS_LT(P99_NARG(__VA_ARGS__), 2))(__VA_ARGS__)
 
#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...
 

Detailed Description

Basis macros to process the parameter list of a variadic macro.

See also
Basic list processing macros

Definition in file p99_list.h.