28ab68507119f0f8ad5846745c6f6b6f7e32d47b
[trackerpp.git] / src / MultiTracker.h
1 #ifndef _MULTI_TRACKER_H_
2 #define _MULTI_TRACKER_H_
3
4 #include "Tracker.h"
5 #include "Metrics.h"
6 #include "SharedPtr.h"
7
8 namespace suanzi {
9
10     TK_DECLARE_PTR(MultiTracker);
11
12     class MultiTracker 
13     {
14     public:
15         MultiTracker(MetricsPtr m);
16         virtual ~MultiTracker();
17         void addTracker(TrackerPtr t);
18         void removeTracker(TrackerPtr t);
19         TrackerPtr createTracker(int id = 0);
20         void update();
21         
22     private:
23         MetricsPtr metrics;
24         std::set<TrackerPtr> trackers;
25         int max_id = 0;
26     };
27
28
29 }
30
31 #endif /* _MULTI_TRACKER_H_ */