![]() |
O2S C Library 1.8.2
Provide high-level data-structures and other fundamental tools for C projects
|
Compile-time utilities. More...
#include "o2s/private_prepro.h"Go to the source code of this file.
Macros | |
| #define | C_ARRAY_LENGTH(ARRAY) |
| Number of elements in a C array (on the stack) | |
| #define | LIBO2S_PREPRO_ARGUMENT_COUNT(...) |
| Evaluates as the number of arguments, up to 40. | |
| #define | FNV1A(...) |
| Fowler–Noll–Vo hash function, at compile-time. | |
Token manipulation | |
| #define | LIBO2S_PREPRO_STRING_DIRECT(TEXT) |
| Changes token type to string literal. | |
| #define | LIBO2S_PREPRO_STRING(EXPRESSION) |
| Create a string literal from the evaluation of its argument. | |
| #define | LIBO2S_PREPRO_CONCAT_DIRECT(TEXT1, TEXT2) |
Evaluates as a single identifier token, that is TEXT1 concatenated with TEXT2. | |
| #define | LIBO2S_PREPRO_CONCAT(EXPRESSION1, EXPRESSION2) |
Evaluates as a single identifier token, that is the evaluation of EXPRESSION1 concatenated with the evaluation of EXPRESSION2. | |
Numbers manipulation | |
| #define | max(a, b) |
| Evaluates as the biggest of the two parameters. | |
| #define | min(a, b) |
| Evaluates as the smallest of the two parameters. | |
Compile-time utilities.
Definition in file preprocessing.h.
| #define FNV1A | ( | ... | ) |
Fowler–Noll–Vo hash function, at compile-time.
Evaluates as an expression that will be computed at compile-time, representing the hash of the sequence of characters passed as arguments.
Definition at line 72 of file preprocessing.h.