7 #ifndef TRACKER_MANAGER_H
8 #define TRACKER_MANAGER_H
10 #include <condition_variable>
24 struct tracker_base_data {
26 std::unique_ptr<tracker_base> tracker;
29 std::map<int, tracker_base_data> trackers;
33 spdlog::debug(
"tracker_manager::~tracker_manager()");
44 std::vector<std::tuple<int, std::string>> list;
45 for (
auto &[
id, data] : trackers) {
46 list.push_back({id, data.name});
51 std::size_t
start_tracker(std::unique_ptr<tracker_base> tracker_ptr,
const std::string &name)
55 std::cout <<
"tracker_ptr is null in start_tracker\n";
59 trackers.emplace(id_count++, tracker_base_data{name, std::move(tracker_ptr)});
60 return trackers.size() - 1;