#include "Tracker.h"
#include "Metrics.h"
+#include "SharedPtr.h"
namespace suanzi {
-class MultiTracker
-{
-public:
- MultiTracker(Metrics* m);
- virtual ~MultiTracker();
- void addTracker(Tracker *t);
- void removeTracker(Tracker *t);
- Tracker* createTracker(int id = 0);
- void update();
-
+ TK_DECLARE_PTR(MultiTracker);
-private:
- Metrics* metrics;
- std::set<Tracker*> trackers;
- int max_id = 0;
-};
+ class MultiTracker
+ {
+ public:
+ MultiTracker(MetricsPtr m);
+ virtual ~MultiTracker();
+ void addTracker(TrackerPtr t);
+ void removeTracker(TrackerPtr t);
+ TrackerPtr createTracker(int id = 0);
+ void update();
+
+ private:
+ MetricsPtr metrics;
+ std::set<TrackerPtr> trackers;
+ int max_id = 0;
+ };
}