signal_route_added.emit(r);
}
+Route &Layout::get_route(const string &name) const
+{
+ for(set<Route *>::const_iterator i=routes.begin(); i!=routes.end(); ++i)
+ if((*i)->get_name()==name)
+ return **i;
+ throw KeyError("Unknown route", name);
+}
+
void Layout::remove_route(Route &r)
{
if(routes.erase(&r))
Track *start = track;
while(1)
{
- int out_ep = track->traverse(ep, trk_path);
- if(out_ep<0)
- break;
+ unsigned out_ep = track->traverse(ep, trk_path);
Track *next = track->get_links()[out_ep];
if(!next || next == start)
break;