#ifndef _ALIAS_CPP_CAT_H_
#define _ALIAS_CPP_CAT_H_
#define ALIAS_CPP_CAT(A, ...) ALIAS_CPP_CAT_(A, __VA_ARGS__)
#define ALIAS_CPP_CAT_(A, ...) A##__VA_ARGS__
#define ALIAS_CPP_CAT3(A, B, ...) ALIAS_CPP_CAT3_(A, B, __VA_ARGS__)
#define ALIAS_CPP_CAT3_(A, B, ...) A##B##__VA_ARGS__
#define ALIAS_CPP_CAT4(A, B, C, ...) ALIAS_CPP_CAT4_(A, B, C, __VA_ARGS__)
#define ALIAS_CPP_CAT4_(A, B, C, ...) A##B##C##__VA_ARGS__
#define ALIAS_CPP_CAT5(A, B, C, D, ...) ALIAS_CPP_CAT5_(A, B, C, D, __VA_ARGS__)
#define ALIAS_CPP_CAT5_(A, B, C, D, ...) A##B##C##D##__VA_ARGS__
#define ALIAS_CPP_CAT6(A, B, C, D, E, ...) ALIAS_CPP_CAT6_(A, B, C, D, E, __VA_ARGS__)
#define ALIAS_CPP_CAT6_(A, B, C, D, E, ...) A##B##C##D##E##__VA_ARGS__
#endif