TEMPLATE
#define TEMPLATE(name, which, typ) \
#define TEMPLATE(name, typ) \
TEMPLATE(schar, signed char)
#define TEMPLATE(name, which, typ) \
#define TEMPLATE(name, typ) \
TEMPLATE(schar, signed char)
#define TEMPLATE(name, typ, minv, maxv) \
TEMPLATE(schar, signed char, SCHAR_MIN, SCHAR_MAX)
#define TEMPLATE(name) \
TEMPLATE(int32)