MakeDynamicReloggerGroup

El SDK de C++ Build Insights es compatible con Visual Studio 2017 y versiones posteriores. Para ver la documentación de estas versiones, establezca el control de selector de Versión de Visual Studio para este artículo en Visual Studio 2017 o versiones posteriores. Se encuentra en la parte superior de la tabla de contenido de esta página.

La función MakeDynamicReloggerGroup se usa para crear un grupo de registradores dinámicos. Los miembros de un grupo de registradores reciben los eventos de uno en uno de izquierda a derecha hasta que se hayan procesado todos los eventos de un seguimiento.

Sintaxis

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
Vector de punteros IRelogger incluidos en el grupo del registrador dinámico. Estos punteros pueden ser sin formato, std::unique_ptr o std::shared_ptr. Los punteros IAnalyzer también se consideran punteros IRelogger debido a una relación de herencia.

Valor devuelto

Grupo de registradores dinámicos. Use la palabra clave auto para capturar el valor devuelto.

Comentarios

A diferencia de los grupos de registradores estáticos, los miembros de un grupo de registradores dinámicos no necesitan conocerse en el tiempo de compilación. Puede elegir miembros del grupo de registradores en el tiempo de ejecución en función de la entrada del programa o en función de otros valores desconocidos en el tiempo de compilación. A diferencia de los grupos de registradores estáticos, los punteros IRelogger dentro de un grupo de registradores dinámicos tienen un comportamiento polimórfico y las llamadas a funciones virtuales se envían correctamente. Esta flexibilidad se consigue a costa de un tiempo de procesamiento de eventos posiblemente más lento. Cuando todos los miembros del grupo de registradores se conocen en el tiempo de compilación, y si no necesita un comportamiento polimórfico, considere la posibilidad de usar un grupo de registradores estáticos. Para usar un grupo de registradores estáticos, llame a MakeStaticReloggerGroup en su lugar.

Un grupo de registradores dinámicos se puede encapsular dentro de un grupo de registradores estáticos. Su dirección se pasa a MakeStaticReloggerGroup. Utilice esta técnica para pasar grupos de registradores dinámicos a funciones como Relog, que solo aceptan grupos de registradores estáticos.