P99
Macros

The macros in this group help to classify different token sequences, in particular type specifiers that are composed of several tokens. More...

+ Collaboration diagram for Classification:

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...
 

Detailed Description

The macros in this group help to classify different token sequences, in particular type specifiers that are composed of several tokens.