- void release_blocks(std::list<BlockRef> &);
- void release_blocks(std::list<BlockRef> &, std::list<BlockRef>::iterator, std::list<BlockRef>::iterator);
- void reverse_blocks(std::list<BlockRef> &) const;
+ void release_blocks(BlockList &);
+ void release_blocks(BlockList &, BlockList::iterator, BlockList::iterator);
+ void reverse_blocks(BlockList &) const;
+ bool advance_route(std::list<RouteRef>::iterator &, Track &);
+ Route *create_lead_route(Route *, const Route *);
+ bool is_valid_diversion(const Route &, Track &, unsigned);