1#pragma once
2
3#ifndef STR
4#define _STR(...) #__VA_ARGS__
5#define STR(...) _STR(__VA_ARGS__)
6#endif
7
8#ifndef CAT
9#define _CAT(x, y) x##y
10#define CAT(x, y) _CAT(x, y)
11#endif
12
13#ifndef CAT3
14#define _CAT3(x, y, z) x##y##z
15#define CAT3(x, y, z) _CAT3(x, y, z)
16#endif
17
18#ifndef EXP
19#define _EXP(x) x
20#define EXP(x) _EXP(x)
21#endif
22