P99
Macros
p99_args.h File Reference

Providing macros that handle variadic macro argument lists. More...

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

Go to the source code of this file.

Macros

#define P99_FSYMB(NAME)   P00_FSYMB(NAME)
 Mangle NAME. More...
 
#define P99_IS_EMPTY(...)
 Test if the argument list is empty. More...
 
#define P99_LENGTH_ARR_ARG(T, ...)   ((size_t)P99_NARG(__VA_ARGS__)), (T[]){ __VA_ARGS__ }
 Helper macro to declare a variable length parameter list. More...
 
#define P99_LENGTH_VA_ARG(...)   ((size_t)P99_NARG(__VA_ARGS__)), __VA_ARGS__
 Meta-macro to generate calls to functions with variable argument lists. 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_TOK_EQ(TOK, ...)   P00_TOK_EQ_(P99_PASTE3(P00_IS_, TOK, _EQ_), __VA_ARGS__)
 Detect if two tokens are equal. More...
 
#define P99_VA_ARGS(X)   size_t X /*!< the number of arguments that follow */, ...
 Helper macro to declare a variable length parameter list. More...
 

Detailed Description

Providing macros that handle variadic macro argument lists.

Definition in file p99_args.h.

P99_VA_ARGS
#define P99_VA_ARGS(X)
Helper macro to declare a variable length parameter list.
Definition: p99_args.h:213
P99_FSYMB
#define P99_FSYMB(NAME)
Mangle NAME.
Definition: p99_args.h:223
P99_HAS_COMMA
#define P99_HAS_COMMA(...)
Determine of the argument list has a comma, i.e at least two arguments.
Definition: p99_generated.h:165
i
P00_CLAUSE2 i(_Pragma("weak p00_getopt_comp"))(_Pragma("weak p00_getopt_comp