1 | #pragma once |
2 | |
3 | #define TH_CONCAT_STRING_2(x, y) TH_CONCAT_STRING_2_EXPAND(x, y) |
4 | #define TH_CONCAT_STRING_2_EXPAND(x, y) #x #y |
5 | |
6 | #define TH_CONCAT_STRING_3(x, y, z) TH_CONCAT_STRING_3_EXPAND(x, y, z) |
7 | #define TH_CONCAT_STRING_3_EXPAND(x, y, z) #x #y #z |
8 | |
9 | #define TH_CONCAT_STRING_4(x, y, z, w) TH_CONCAT_STRING_4_EXPAND(x, y, z, w) |
10 | #define TH_CONCAT_STRING_4_EXPAND(x, y, z, w) #x #y #z #w |
11 | |
12 | #define TH_CONCAT_2(x, y) TH_CONCAT_2_EXPAND(x, y) |
13 | #define TH_CONCAT_2_EXPAND(x, y) x##y |
14 | |
15 | #define TH_CONCAT_3(x, y, z) TH_CONCAT_3_EXPAND(x, y, z) |
16 | #define TH_CONCAT_3_EXPAND(x, y, z) x##y##z |
17 | |
18 | #define TH_CONCAT_4_EXPAND(x, y, z, w) x##y##z##w |
19 | #define TH_CONCAT_4(x, y, z, w) TH_CONCAT_4_EXPAND(x, y, z, w) |
20 | |