Eclipse SUMO - Simulation of Urban MObility
MSTrigger.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-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 /****************************************************************************/
16 // An abstract device that changes the state of the micro simulation
17 /****************************************************************************/
18 // ===========================================================================
19 // included modules
20 // ===========================================================================
21 #include "MSTrigger.h"
22 
23 
24 // ===========================================================================
25 // static member definitions
26 // ===========================================================================
27 std::set<MSTrigger*> MSTrigger::myInstances;
28 
29 
30 // ===========================================================================
31 // method definitions
32 // ===========================================================================
33 MSTrigger::MSTrigger(const std::string& id) :
34  Named(id) {
35  myInstances.insert(this);
36 }
37 
38 
40  myInstances.erase(this);
41 }
42 
43 
45  while (!myInstances.empty()) {
46  delete *myInstances.begin();
47  }
48 }
MSTrigger(const std::string &id)
Constructor.
Definition: MSTrigger.cpp:33
virtual ~MSTrigger()
Destructor.
Definition: MSTrigger.cpp:39
static std::set< MSTrigger * > myInstances
Definition: MSTrigger.h:62
static void cleanup()
properly deletes all trigger instances
Definition: MSTrigger.cpp:44
Base class for objects which have an id.
Definition: Named.h:57