float speed;
TrainRouter *router;
Route *route;
- std::list<TrainRoutingState *> waits;
+ std::list<const TrainRoutingState *> waits;
TrainRoutingInfo(Train &);
};
{
Msp::Time::TimeDelta time;
std::vector<TrainRoutingState> trains;
- RoutingStep *prev;
+ const RoutingStep *prev;
RoutingStep();
- RoutingStep(RoutingStep *);
+ RoutingStep(const RoutingStep *);
- void create_successors(std::list<RoutingStep> &);
+ void create_successors(std::list<RoutingStep> &) const;
bool update_states();
bool check_deadlocks() const;
int get_occupant(Track &) const;
void plan();
private:
- void add_steps(RoutingStep &);
- void create_routes(RoutingStep &);
+ void add_steps(const RoutingStep &);
+ void create_routes(const RoutingStep &);
};
} // namespace R2C2