![]() |
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.