1 #ifndef LIBR2C2_TRAINROUTEMETRIC_H_
2 #define LIBR2C2_TRAINROUTEMETRIC_H_
13 // Metrics store iterators facing away from the goal
14 class TrainRouteMetric
17 typedef std::pair<const Track *, unsigned> Key;
25 Goal(const TrackIter &);
34 Data(float, const Goal *);
37 std::vector<Goal> goals;
38 std::map<Key, Data> tracks;
41 TrainRouteMetric() { }
42 TrainRouteMetric(const TrackChain &);
44 void chain_to(const TrainRouteMetric &);
45 float get_distance_from(const Track &, unsigned) const;