P99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.