]> git.tdb.fi Git - r2c2.git/blob - source/libmarklin/route.h
3fa82023117053e53dd275a613e240b5512b9d6b
[r2c2.git] / source / libmarklin / route.h
1 #ifndef LIBMARKLIN_ROUTE_H_
2 #define LIBMARKLIN_ROUTE_H_
3
4 #include <list>
5 #include <map>
6 #include <set>
7 #include <string>
8
9 namespace Marklin {
10
11 class Track;
12 class Turnout;
13
14 class Route
15 {
16 public:
17         typedef std::map<unsigned, unsigned> TurnoutMap;
18
19         Route();
20         const std::map<unsigned, Turnout *> &get_turnouts() const { return turnouts; }
21         void add_track(Track *);
22         ~Route();
23 private:
24         std::string name;
25         std::set<Track *> tracks;
26         std::map<unsigned, Turnout *> turnouts;
27 };
28
29 } // namespace Marklin
30
31 #endif