a の値に基づいてプリプロセッサ定義を作成したいtypedef。
アイデアは、適切な定義をチェックindex_type_tして生成することです。INDEX_TYPE_GL
以下は意図したとおりに動作しません。
typedef uint32_t index_type_t;
#ifdef INDEX_TYPE_GL
#undef INDEX_TYPE_GL
#endif
#if (index_type_t == uint8_t)
#define INDEX_TYPE_GL GL_UNSIGNED_BYTE
#elif (index_type_t == uint32_t)
#define INDEX_TYPE_GL GL_UNSIGNED_INT
#elif (index_type_t == uint16_t)
#deine INDEX_TYPE_GL GL_UNSIGNED_SHORT
#endif
uint8_t、uint16_t、uint32_tは別typdefsの場所で分離されており、GL_UNSIGNED_BYTEetc は型ではなく整数値であることに注意してください。