TEMPLATE_INSTANTIATION_DATA 構造体
C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。
TEMPLATE_INSTANTIATION_DATA 構造体はテンプレートのインスタンス化を表します。
構文
typedef struct TEMPLATE_INSTANTIATION_DATA_TAG
{
unsigned long long SpecializationSymbolKey;
unsigned long long PrimaryTemplateSymbolKey;
int KindCode;
} TEMPLATE_INSTANTIATION_DATA;
メンバー
| 名前 | [説明] |
|---|---|
SpecializationSymbolKey |
テンプレート特殊化の種類を表すキー。 この値は分析対象のトレース内で一意です。 |
PrimaryTemplateSymbolKey |
特殊化されたプライマリ テンプレートの種類を表すキー。 この値は分析対象のトレース内で一意です。 |
KindCode |
テンプレート インスタンス化の種類。 詳細については、TEMPLATE_INSTANTIATION_KIND_CODE に関するページを参照してください。 |
注釈
TEMPLATE_INSTANTIATION_DATA 構造体内のキーは分析対象のトレース内で一意です。 ただし、異なるコンパイラ フロントエンド パスから受け取る 2 つの異なるキーで、2 つの同じ型が示されている場合があります。 複数のコンパイラ フロントエンド パスからの TEMPLATE_INSTANTIATION_DATA 情報を使用するとき、SYMBOL_NAME イベントを使用し、2 つの型が同じかどうかを判断します。 SymbolName イベントは、すべてのテンプレートのインスタンス化が行われた後で、コンパイラ フロントエンド パスの最後に生成されます。