1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-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    MSJunctionControl.h
11 /// @author  Christian Roessel
12 /// @author  Daniel Krajzewicz
13 /// @author  Sascha Krieg
14 /// @author  Michael Behrisch
15 /// @date    Mon, 12 Mar 2001
16 /// @version $Id$
17 ///
18 // Container for junctions; performs operations on all stored junctions
19 /****************************************************************************/
20 #ifndef MSJunctionControl_h
21 #define MSJunctionControl_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #include <config.h>
28 
29 #include <vector>
30 #include <map>
31 #include <string>
32 
33 #include <utils/common/NamedObjectCont.h>
34 #include <utils/common/UtilExceptions.h>
35 #include "MSJunction.h"
36 
37 
38 // ===========================================================================
39 // class definitions
40 // ===========================================================================
41 /**
42  * @class MSJunctionControl
43  * @brief Container for junctions; performs operations on all stored junctions
44  */
45 class MSJunctionControl : public NamedObjectCont<MSJunction*> {
46 public:
47     /// @brief Constructor
48     MSJunctionControl();
49 
50 
51     /// @brief Destructor
52     ~MSJunctionControl();
53 
54 
55     /** @brief Closes building of junctions
56      *
57      * Calls "postloadInit" on all stored junctions.
58      * @exception ProcessError From the called "postloadInit"
59      * @see MSJunction::postloadInit
60      */
61     void postloadInitContainer();
62 
63 
64 private:
65     /// @brief Invalidated copy constructor.
66     MSJunctionControl(const MSJunctionControl&);
67 
68     /// @brief Invalidated assignment operator.
69     MSJunctionControl& operator=(const MSJunctionControl&);
70 
71 };
72 
73 
74 #endif
75 
76 /****************************************************************************/
77 
78