MakeStaticReloggerGroup
Das C++ Build Insights SDK ist mit Visual Studio 2017 und höher kompatibel. Um die Dokumentation für diese Versionen anzuzeigen, legen Sie das Auswahlsteuerelement Version in Visual Studio für diesen Artikel auf Visual Studio 2017 oder höher fest. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.
Die Funktion MakeStaticReloggerGroup
wird zum Erstellen einer statischen Reloggergruppe verwendet, die an Funktionen wie Relog übergeben werden können. Die Member einer Reloggergruppe empfangen ein Ereignis nach dem anderen (von links nach rechts), bis alle Ereignisse einer Ablaufverfolgung verarbeitet worden sind.
Syntax
template <typename... TReloggerPtrs>
auto MakeStaticReloggerGroup(TReloggerPtrs... reloggers);
Parameter
TReloggerPtrs
Dieser Parameter wird immer hergeleitet.
reloggers
Ein Parameterpaket aus IRelogger
-Zeigern, die in der statischen Reloggergruppe enthalten sind. Diese Zeiger können unformatiert, std::unique_ptr
oder std::shared_ptr
sein. IAnalyzer
-Zeiger werden aufgrund einer Vererbungsbeziehung auch als IRelogger
-Zeiger betrachtet.
Rückgabewert
Beim Rückgabewert handelt es sich um eine statische Reloggergruppe. Verwenden Sie das Schlüsselwort auto
, um den Rückgabewert zu erfassen.
Hinweise
Im Gegensatz zu dynamischen Reloggergruppen müssen die Member einer statischen Reloggergruppe zur Kompilierzeit bekannt sein. Darüber hinaus enthält eine statische Reloggergruppe IRelogger
-Zeiger, die kein polymorphes Verhalten aufweisen. Wenn Sie eine statische Reloggergruppe verwenden, um eine Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW) zu analysieren, haben Aufrufe der Schnittstelle IRelogger
immer zur Folge, dass direkt vom Member der Reloggergruppe auf das Objekt gezeigt wird. Dadurch verlieren Sie zwar an Flexibilität, aber Ereignisse können möglicherweise schneller verarbeitet werden. Wenn die Member einer Reloggergruppe zur Kompilierzeit nicht bekannt sind oder Ihre IRelogger
-Zeiger polymorphes Verhalten aufweisen müssen, sollten Sie in Erwägung ziehen, eine dynamische Reloggergruppe zu verwenden. Sie können eine dynamische Reloggergruppe verwenden, indem Sie stattdessen MakeDynamicReloggerGroup
aufrufen.