TEMPLATE_INSTANTIATION_DATA structure
The C++ Build Insights SDK is compatible with Visual Studio 2017 and later. To see the documentation for these versions, set the Visual Studio Version selector control for this article to Visual Studio 2017 or later. It's found at the top of the table of contents on this page.
The TEMPLATE_INSTANTIATION_DATA
structure describes a template instantiation.
Syntax
typedef struct TEMPLATE_INSTANTIATION_DATA_TAG
{
unsigned long long SpecializationSymbolKey;
unsigned long long PrimaryTemplateSymbolKey;
int KindCode;
} TEMPLATE_INSTANTIATION_DATA;
Members
Name | Description |
---|---|
SpecializationSymbolKey |
The key for the template specialization's type. This value is unique within the trace being analyzed. |
PrimaryTemplateSymbolKey |
The key for the primary template type that was specialized. This value is unique within the trace being analyzed. |
KindCode |
The template instantiation's type. For more information, see TEMPLATE_INSTANTIATION_KIND_CODE. |
Remarks
The keys in the TEMPLATE_INSTANTIATION_DATA
structure are unique within the trace being analyzed. However, two different keys coming from different compiler front-end passes may point to two identical types. When consuming TEMPLATE_INSTANTIATION_DATA
information from multiple compiler front-end passes, use the SYMBOL_NAME events to determine if two types are the same. SymbolName
events are emitted at the end of a compiler front-end pass, after all template instantiations have taken place.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for