+ void set_temporary(bool);
+ bool is_temporary() const { return temporary; }
+ void set_turnout(unsigned, unsigned);
+ void update_turnouts();
int get_turnout(unsigned) const;
const std::map<unsigned, int> &get_turnouts() const { return turnouts; }
void add_track(const Track &);
void add_tracks(const std::set<const Track *> &);
int get_turnout(unsigned) const;
const std::map<unsigned, int> &get_turnouts() const { return turnouts; }
void add_track(const Track &);
void add_tracks(const std::set<const Track *> &);
const std::set<const Track *> &get_tracks() const { return tracks; }
void save(std::list<Msp::DataFile::Statement> &) const;
private:
const std::set<const Track *> &get_tracks() const { return tracks; }
void save(std::list<Msp::DataFile::Statement> &) const;
private:
unsigned check_validity(const Track &) const;
void track_removed(Track &);
public:
static Route *find(const Track &, unsigned, const Track &);
static Route *find(const Track &, unsigned, const Route &);
unsigned check_validity(const Track &) const;
void track_removed(Track &);
public:
static Route *find(const Track &, unsigned, const Track &);
static Route *find(const Track &, unsigned, const Route &);