Configuration macros for platform, compiler, etc. More...
Macros | |
#define | MI_BASE_JOIN(X, Y) MI_BASE_DO_JOIN( X, Y ) |
Creates an identifier from concatenating the values of X and Y , possibly expanding macros in X and Y . More... |
|
#define | MI_BASE_STRINGIZE(X) MI_BASE_DO_STRINGIZE( X ) |
Creates a string from the value of X , possibly expanding macros in X . More... |
|
#define | MI_PREVENT_MACRO_EXPAND |
Empty macro that can be used after function names to prevent macro expansion that happen to have the same name, for example, min or max functions. More... |
|
#define | MI_FORCE_INLINE inline |
The compiler-specific, strong inline keyword. More... |
|
Configuration macros for platform, compiler, etc.
#include <mi/base/base.h>
#define MI_BASE_JOIN | ( | X, | |
Y | |||
) | MI_BASE_DO_JOIN( X, Y ) |
Creates an identifier from concatenating the values of X
and Y
, possibly expanding macros in X
and Y
.
#define MI_BASE_STRINGIZE | ( | X) | MI_BASE_DO_STRINGIZE( X ) |
Creates a string from the value of X
, possibly expanding macros in X
.
#define MI_FORCE_INLINE inline |
The compiler-specific, strong inline
keyword.
The C++ language keyword inline
is a recommendation to the compiler. Whether an inline function is actually inlined or not depends on the optimizer. In some cases, the developer knows better than the optimizer. This is why many compilers offer a separate, stronger inline statement. This define gives portable access to the compiler-specific keyword.
Pre-define MI_FORCE_INLINE
to override the setting in this file.
#define MI_PREVENT_MACRO_EXPAND |
Empty macro that can be used after function names to prevent macro expansion that happen to have the same name, for example, min
or max
functions.