]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/route.cpp
Replace various map lookups with functions from maputils.h
[r2c2.git] / source / libr2c2 / route.cpp
index ad6f81169e5a36221e05934ba5f4cb0e7d6439e3..78f96a638f7bf28463127ef9f69ac81cecccdf38 100644 (file)
@@ -1,12 +1,6 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2007-2010  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #include <queue>
-#include <msp/strings/formatter.h>
+#include <msp/core/maputils.h>
+#include <msp/strings/format.h>
 #include "layout.h"
 #include "route.h"
 #include "track.h"
@@ -161,12 +155,10 @@ void Route::set_turnout(unsigned addr, unsigned path)
 {
        if(!addr)
                throw InvalidParameterValue("Invalid turnout address");
-       map<unsigned, int>::iterator i = turnouts.find(addr);
-       if(i==turnouts.end())
-               throw KeyError("Turnout is not in this route");
-       if(i->second>=0 && path!=static_cast<unsigned>(i->second))
+       int &state = get_item(turnouts, addr);
+       if(state>=0 && path!=static_cast<unsigned>(state))
                throw InvalidState("Setting conflicts with route");
-       i->second = path;
+       state = path;
 }
 
 void Route::update_turnouts()