1 /****************************************************************************/ 2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo 3 // Copyright (C) 2002-2019 German Aerospace Center (DLR) and others. 4 // This program and the accompanying materials 5 // are made available under the terms of the Eclipse Public License v2.0 6 // which accompanies this distribution, and is available at 7 // http://www.eclipse.org/legal/epl-v20.html 8 // SPDX-License-Identifier: EPL-2.0 9 /****************************************************************************/ 10 /// @file NIVissimClosures.h 11 /// @author Daniel Krajzewicz 12 /// @author Michael Behrisch 13 /// @date Sept 2002 14 /// @version $Id$ 15 /// 16 // ------------------- 17 /****************************************************************************/ 18 #ifndef NIVissimClosures_h 19 #define NIVissimClosures_h 20 21 22 // =========================================================================== 23 // included modules 24 // =========================================================================== 25 #include <config.h> 26 27 #include <string> 28 #include <map> 29 30 31 // =========================================================================== 32 // class definitions 33 // =========================================================================== 34 /** 35 * 36 */ 37 class NIVissimClosures { 38 public: 39 NIVissimClosures(const std::string& id, 40 int from_node, int to_node, 41 std::vector<int>& overEdges); 42 ~NIVissimClosures(); 43 static bool dictionary(const std::string& id, 44 int from_node, int to_node, std::vector<int>& overEdges); 45 static bool dictionary(const std::string& name, NIVissimClosures* o); 46 static NIVissimClosures* dictionary(const std::string& name); 47 static void clearDict(); 48 private: 49 typedef std::map<std::string, NIVissimClosures*> DictType; 50 static DictType myDict; 51 const std::string myID; 52 int myFromNode, myToNode; 53 std::vector<int> myOverEdges; 54 55 private: 56 /// @brief invalidated copy constructor 57 NIVissimClosures(const NIVissimClosures& s); 58 59 /// @brief invalidated assignment operator 60 NIVissimClosures& operator=(const NIVissimClosures& s); 61 62 63 }; 64 65 66 #endif 67 68 /****************************************************************************/ 69 70