CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
tokens.h
Go to the documentation of this file.
1
6
7#pragma once
8
20#define tokconcat(x, y) _tokconcat_actual(x, y)
21#define _tokconcat_actual(x, y) x##y
22
24#define tokcat2(x, y) _tokconcat_actual(x, y)
25
27#define tokcat3(x1, x2, x3) tokcat2(tokcat2(x1, x2), x3)
28
30#define tokcat4(x1, x2, x3, x4) tokcat2(tokcat3(x1, x2, x3), x4)
31
33#define tokcat5(x1, x2, x3, x4, x5) tokcat2(tokcat4(x1, x2, x3, x4), x5)
34
44#define tokconcatU(x, y) _tokconcatU_actual(x, y)
45#define _tokconcatU_actual(x, y) x##_##y
46
48#define tokcatU2(x, y) _tokconcatU_actual(x, y)
49
51#define tokcatU3(x1, x2, x3) tokcatU2(tokcatU2(x1, x2), x3)
52
54#define tokcatU4(x1, x2, x3, x4) tokcatU2(tokcatU3(x1, x2, x3), x4)
55
57#define tokcatU5(x1, x2, x3, x4, x5) tokcatU2(tokcatU4(x1, x2, x3, x4), x5)
58
70#define tokstring(x) _tokstring_actual(x)
71#define _tokstring_actual(x) #x
72
84#define tokeval(...) __VA_ARGS__
85