O2S C Library 1.8.2
Provide high-level data-structures and other fundamental tools for C projects
Loading...
Searching...
No Matches
preprocessing.h File Reference

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.

Detailed Description

Compile-time utilities.

Author
Antoine GAGNIERE

Definition in file preprocessing.h.

Macro Definition Documentation

◆ FNV1A

#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.