MakeDynamicReloggerGroup

O SDK do C++ Build Insights é compatível com o Visual Studio 2017 e posterior. Para ver a documentação dessas versões, defina o controle seletor de Versão do Visual Studio deste artigo para o Visual Studio 2017 ou posterior. Ele é encontrado na parte superior da tabela de conteúdo nesta página.

A função MakeDynamicReloggerGroup é usada para criar um grupo de reloggers dinâmicos. Os membros de um grupo de relogger recebem eventos um a um, da esquerda para a direita, até que todos os eventos em um rastreamento seja processado.

Sintaxe

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

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

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

Parâmetros

reloggers
Um vetor de ponteiros IRelogger incluídos no grupo de relogger dinâmico. Esses ponteiros podem ser brutos, std::unique_ptr ou std::shared_ptr. Ponteiros IAnalyzer também são considerados ponteiros IRelogger devido a uma relação de herança.

Valor de Devolução

Um grupo de relogger dinâmico. Use a palavra-chave auto para capturar o valor retornado.

Comentários

Ao contrário dos grupos de reloggers, os membros de um grupo de reloggers não precisam ser conhecidos em tempo de compilação. Você pode escolher membros do grupo de reloggers em runtime com base na entrada do programa ou com base em outros valores que são desconhecidos no tempo de compilação. Ao contrário dos grupos de reloggers, os ponteiros IRelogger dentro de um grupo de reloggers dinâmicos têm comportamento polimórfico e as chamadas de função virtual são enviadas corretamente. Essa flexibilidade gera o custo de um tempo de processamento de evento possivelmente mais lento. Quando todos os membros do grupo de reloggers forem conhecidos em tempo de compilação e se você não precisar de comportamento polimórfico, considere usar um grupo de reloggers estáticos. Para usar um grupo de reloggers estáticos, chame MakeStaticReloggerGroup.

Um grupo de relogger dinâmico pode ser encapsulado dentro de um grupo de relogger estático. Você passa seu endereço para MakeStaticReloggerGroup. Use essa técnica para passar grupos de reloggers para funções como Relog, que aceitam apenas grupos de reloggers.