次の方法で共有


MakeDynamicReloggerGroup

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

MakeDynamicReloggerGroup 関数は、動的リロガー グループを作成するために使用されます。 リロガー グループのメンバーは、トレース内のすべてのイベントが処理されるまで、左から右に 1 つずつイベントを受け取ります。

構文

auto MakeDynamicReloggerGroup(std::vector<IRelogger*> reloggers);

auto MakeDynamicReloggerGroup(std::vector<std::shared_ptr<IRelogger>> reloggers);

auto MakeDynamicReloggerGroup(std::vector<std::unique_ptr<IRelogger>> reloggers);

パラメーター

reloggers
動的リロガー グループに含まれる IRelogger ポインターのベクター。 これらのポインターには、生、std::unique_ptr、または std::shared_ptr を使用できます。 継承関係のため、IAnalyzer ポインターは IRelogger ポインターとも見なされます。

戻り値

動的リロガー グループ。 戻り値を取得するには、auto キーワードを使用します。

解説

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

動的リロガー グループを、静的リロガー グループ内にカプセル化することができます。 そのアドレスを MakeStaticReloggerGroup に渡します。 静的リロガー グループのみを受け入れる Relog などの関数に動的リロガー グループを渡す場合は、この手法を使用します。