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