MakeDynamicReloggerGroup
Le SDK Build Insights C++ est compatible avec Visual Studio 2017 et ultérieur. Pour consulter la documentation de ces versions, définissez le contrôle de sélecteur Version de Visual Studio pour cet article sur Visual Studio 2017 ou ultérieur. Il se trouve en haut de la table des matières de cette page.
La MakeDynamicReloggerGroup
fonction est utilisée pour créer un groupe de relogger dynamiques. Les membres d’un groupe de relogger reçoivent les événements un par un de gauche à droite jusqu’à ce que tous les événements d’une trace aient été traités.
Syntaxe
auto MakeDynamicReloggerGroup(std::vector<IRelogger*> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::shared_ptr<IRelogger>> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::unique_ptr<IRelogger>> reloggers);
Paramètres
reloggers
Vecteur de pointeurs IRelogger inclus dans le groupe de relogger dynamiques. Ces pointeurs peuvent être bruts, std::unique_ptr
ou std::shared_ptr
. Les pointeurs IAnalyzer sont également considérés comme IRelogger
des pointeurs en raison d’une relation d’héritage.
Valeur de retour
Groupe de relogger dynamiques. Utilisez le auto
mot clé pour capturer la valeur de retour.
Notes
Contrairement aux groupes de relogger statiques, les membres d’un groupe de relogger dynamiques n’ont pas besoin d’être connus au moment de la compilation. Vous pouvez choisir de reloger les membres du groupe au moment de l’exécution en fonction de l’entrée du programme ou d’autres valeurs inconnues au moment de la compilation. Contrairement aux groupes de relogger statiques, IRelogger
les pointeurs d’un groupe de relogger dynamiques ont un comportement polymorphe et les appels de fonction virtuelle sont distribués correctement. Cette flexibilité est due au coût d’un temps de traitement des événements peut-être plus lent. Lorsque tous les membres du groupe de relogger sont connus au moment de la compilation, et si vous n’avez pas besoin de comportement polymorphe, envisagez d’utiliser un groupe de relogger statique. Pour utiliser un groupe de relogger statiques, appelez MakeStaticReloggerGroup
à la place.
Un groupe de relogger dynamique peut être encapsulé à l’intérieur d’un groupe de relogger statiques. Vous passez son adresse à MakeStaticReloggerGroup
. Utilisez cette technique pour transmettre des groupes de relogger dynamiques à des fonctions telles que Relog
, qui acceptent uniquement les groupes de relogage statiques.