title | description | ms.date | ms.topic | ms.custom | helpviewer_keywords | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
C++ Build Insights SDK MakeStaticAnalyzerGroup |
The C++ Build Insights SDK MakeStaticAnalyzerGroup function reference. Use this function to create a static analyzer group for functions like Analyze or Relog. |
04/27/2022 |
language-reference |
kr2b-contr-experiment |
|
::: moniker range="<=msvc-140"
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.
::: moniker-end ::: moniker range=">=msvc-150"
The MakeStaticAnalyzerGroup
function creates a static analyzer group that you can pass to functions such as Analyze
or Relog
. Members of an analyzer group receive events one by one from left to right, until all events in a trace are analyzed.
template <typename... TAnalyzerPtrs>
auto MakeStaticAnalyzerGroup(TAnalyzerPtrs... analyzers);
TAnalyzerPtrs
This parameter is always deduced.
analyzers
A parameter pack of IAnalyzer
pointers included in the static analyzer group. These pointers can be raw, std::unique_ptr
, or std::shared_ptr
.
A static analyzer group. Use the auto
keyword to capture the return value.
Unlike dynamic analyzer groups, the members of a static analyzer group must be known at compile time. Also, a static analyzer group contains IAnalyzer
pointers that don't have polymorphic behavior. When a static analyzer group analyzes an Event Tracing for Windows (ETW) trace, calls to the IAnalyzer
interface always resolve to the object directly pointed to by the analyzer group member. This loss of flexibility comes with a possibility of faster event processing.
If the members of an analyzer group can't be known at compile time, or if you require polymorphic behavior on your IAnalyzer
pointers, consider using a dynamic analyzer group. To use a dynamic analyzer group, call MakeDynamicAnalyzerGroup
instead.
::: moniker-end