MakeDynamicReloggerGroup

Пакет SDK Аналитика для сборки C++ совместим с Visual Studio 2017 и более поздними версиями. Чтобы увидеть документацию для этих версий, установите в данной статье селектор Версия Visual Studio в Visual Studio 2017 и более поздних версий. Он находится в верхней части оглавления на этой странице.

Функция MakeDynamicReloggerGroup используется для создания динамической группы повторной записи в журнал. Члены группы повторной записи в журнал получают события по одному слева направо, пока не будут обработаны все события в трассировке.

Синтаксис

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

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

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

Параметры

reloggers
Вектор указателей IRelogger, включенных в динамическую группу повторной записи в журнал. Эти указатели могут иметь следующий формат: необработанный, std::unique_ptr или std::shared_ptr. Указатели IAnalyzer также считаются указателями IRelogger в силу отношений наследования.

Возвращаемое значение

Динамическая группа повторной записи в журнал. Используйте ключевое слово auto для захвата возвращаемого значения.

Замечания

В отличие от статических групп повторной записи в журнал, элементы динамической группы повторной записи в журнал могут быть неизвестны во время компиляции. Вы сможете выбрать членов группы повторной записи в журнал во время выполнения на основе входных данных программы или других значений, неизвестных во время компиляции. В отличие от статических групп повторной записи в журнал, указатели IRelogger в динамической группе повторной записи в журнал используют полиморфизм, а вызовы виртуальных функций распределяются правильно. Платой за такую гибкость может стать более длительное время обработки событий. Если все члены группы повторной записи в журнал известны во время компиляции и полиморфизм не требуется, попробуйте применить статическую группу повторной записи в журнал. Для этого вызовите MakeStaticReloggerGroup.

Динамическую группу повторной записи в журнал можно инкапсулировать в статической группе повторной записи в журнал. Затем ее адрес передается в MakeStaticReloggerGroup. Используйте этот метод для передачи динамических групп повторной записи в журнал в такие функции, как Relog, которые принимают только статические группы повторной записи в журнал.