Condividi tramite


CreaGruppoReloggerDinamico

Build Insights SDK per C++ è compatibile con Visual Studio 2017 e versioni successive. Per visualizzare la documentazione per queste versioni, impostare il controllo selettore della versione di Visual Studio per questo articolo su Visual Studio 2017 o versione successiva. Si trova nella parte superiore del sommario in questa pagina.

La MakeDynamicReloggerGroup funzione viene usata per creare un gruppo di rilogger dinamico. I membri di un gruppo di rilogger ricevono eventi uno per uno da sinistra a destra fino a quando non vengono elaborati tutti gli eventi in una traccia.

Sintassi

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

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

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

Parametri

registratori di log
Vettore di puntatori IRelogger inclusi nel gruppo di rilogger dinamico. Questi puntatori possono essere non elaborati, std::unique_ptro std::shared_ptr. I puntatori IAnalyzer sono considerati IRelogger anche puntatori a causa di una relazione di ereditarietà.

Valore restituito

Gruppo di rilogger dinamico. Usare la auto parola chiave per acquisire il valore restituito.

Osservazioni:

A differenza dei gruppi di rilogger statici, i membri di un gruppo di rilogger dinamico non devono essere noti in fase di compilazione. È possibile scegliere membri del gruppo di rilogger in fase di esecuzione in base all'input del programma o in base ad altri valori sconosciuti in fase di compilazione. A differenza dei gruppi di rilogger statici, IRelogger i puntatori all'interno di un gruppo di rilogger dinamici hanno un comportamento polimorfico e le chiamate di funzione virtuale vengono inviate correttamente. Questa flessibilità comporta un tempo di elaborazione degli eventi probabilmente più lento. Quando tutti i membri del gruppo di rilogger sono noti in fase di compilazione e, se non è necessario un comportamento polimorfico, è consigliabile usare un gruppo di rilogger statico. Per usare un gruppo di rilogger statico, chiamare MakeStaticReloggerGroup invece.

Un gruppo di rilogger dinamico può essere incapsulato all'interno di un gruppo di rilogger statico. Il relativo indirizzo viene passato a MakeStaticReloggerGroup. Usare questa tecnica per passare gruppi di rilogger dinamici a funzioni come Relog, che accettano solo gruppi di rilogger statici.