P99
|
The macros in this group help to classify different token sequences, in particular type specifiers that are composed of several tokens. More...
Macros | |
#define | P99_BOOL_NORMALIZE(SEQ) P00_TYPE_NORMALIZE(P99_BOOL_QUAL_LEN(SEQ), P00_BOOL_CLASSIFY(SEQ), SEQ) |
Normalize a Boolean type expression. More... | |
#define | P99_FLOAT_NORMALIZE(SEQ) P00_TYPE_NORMALIZE(P99_FLOAT_QUAL_LEN(SEQ), P00_FLOAT_CLASSIFY(SEQ), SEQ) |
Normalize an floating type expression, including _Complex types. More... | |
#define | P99_HAS_NO_PAREN(...) |
Detect if the argument list is surrounded by an extra pair of (). More... | |
#define | P99_INTEGER_NORMALIZE(SEQ) P00_TYPE_NORMALIZE(P99_INTEGER_QUAL_LEN(SEQ), P00_INTEGER_CLASSIFY(SEQ), SEQ) |
Normalize an integer type expression. More... | |
#define | P99_REMOVE_PAREN(...) P99_IF_ELSE(P99_HAS_NO_PAREN(__VA_ARGS__))(__VA_ARGS__)(P00_REMOVE_PAREN(__VA_ARGS__)) |
Remove an extra pair of () around the argument, if any. More... | |
#define | P99_VOID_NORMALIZE(SEQ) P00_TYPE_NORMALIZE(P99_VOID_QUAL_LEN(SEQ), P00_VOID_CLASSIFY(SEQ), SEQ) |
Normalize a void type expression. More... | |
The macros in this group help to classify different token sequences, in particular type specifiers that are composed of several tokens.