void release_blocks(std::list<BlockRef> &, std::list<BlockRef>::iterator, std::list<BlockRef>::iterator);
void reverse_blocks(std::list<BlockRef> &) const;
bool advance_route(std::list<RouteRef>::iterator &, const Track &);
void release_blocks(std::list<BlockRef> &, std::list<BlockRef>::iterator, std::list<BlockRef>::iterator);
void reverse_blocks(std::list<BlockRef> &) const;
bool advance_route(std::list<RouteRef>::iterator &, const Track &);