MakeDynamicAnalyzerGroup

C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。

MakeDynamicAnalyzerGroup 関数は、動的アナライザー グループを作成するために使用されます。 アナライザー グループのメンバーは、トレース内のすべてのイベントが分析されるまで、左から右に 1 つずつイベントを受け取ります。

構文

auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);

パラメーター

analyzers
動的アナライザー グループに含まれる IAnalyzer ポインターのベクター。 これらのポインターには、生、std::unique_ptr、または std::shared_ptr を使用できます。

戻り値

動的アナライザー グループ。 戻り値を取得するには、auto キーワードを使用します。

解説

静的アナライザー グループとは異なり、動的アナライザー グループのメンバーは、コンパイル時に既知である必要はありません。 プログラムの入力、またはコンパイル時には不明な他の値に基づいて、実行時にアナライザー グループのメンバーを選択できます。 静的アナライザー グループとは異なり、動的アナライザー グループ内の IAnalyzer ポインターにはポリモーフィックな動作があり、仮想関数の呼び出しは正しくディスパッチされます。 この柔軟性により、イベント処理時間が遅くなる可能性があります。 アナライザー グループのすべてのメンバーがコンパイル時にわかっていて、ポリモーフィックな動作が必要ない場合は、静的アナライザー グループの使用を検討します。 静的アナライザー グループを使用するには、代わりに MakeStaticAnalyzerGroup を呼び出します。

動的アナライザー グループを、静的アナライザー グループ内にカプセル化することができます。 これを行うには、そのアドレスを MakeStaticAnalyzerGroup に渡します。 静的アナライザー グループのみを受け入れる Analyze などの関数に動的アナライザー グループを渡す場合は、この手法を使用します。