Macros
Preprocessor.hpp File Reference

Utilities for preprocessor metaprogramming. More...

Go to the source code of this file.

Macros

#define AURORA_PP_LIMIT   5
 Limit for preprocessor metaprogramming arguments. More...
 
#define AURORA_PP_CAT(a, b)
 Concatenate two expressions (evaluated ## operator) More...
 
#define AURORA_PP_STRINGIZE(a)
 Convert expression to string (evaluated # operator) More...
 
#define AURORA_PP_IF(condition, trueCase, falseCase)
 Conditional evaluation. More...
 
#define AURORA_PP_ENUMERATE(n, macro)
 Apply a macro repeated times. More...
 
#define AURORA_PP_ENUMERATE_COMMA(n, macro)
 Apply a macro repeated times, comma-separated. More...
 
#define AURORA_PP_COMMA_IF(n)
 Comma if non-zero argument. More...
 
#define AURORA_PP_AT(size, n, tuple)
 Access element of tuple. More...
 
#define AURORA_PP_FOREACH(macro, tuple)
 Apply macro for each element in tuple. More...
 
#define AURORA_PP_FOREACH_DATA(macro, tuple, data)
 Apply macro for each element in tuple, with additional argument. More...
 
#define AURORA_PP_POSITIVE_SIZE(tuple)
 Size of a non-empty preprocessor tuple. More...
 
#define AURORA_PP_SIZE(tuple)
 Size of a preprocessor tuple. More...
 

Detailed Description

Utilities for preprocessor metaprogramming.