diff options
Diffstat (limited to 'src/systemc')
-rw-r--r-- | src/systemc/core/module.cc | 7 | ||||
-rw-r--r-- | src/systemc/core/module.hh | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/systemc/core/module.cc b/src/systemc/core/module.cc index 986ad25a7..b13b50d28 100644 --- a/src/systemc/core/module.cc +++ b/src/systemc/core/module.cc @@ -30,7 +30,6 @@ #include "systemc/core/module.hh" #include <cassert> -#include <list> #include "base/logging.hh" @@ -53,7 +52,7 @@ Module::Module(const char *name) : _name(name), _sc_mod(nullptr), _obj(nullptr) _new_module = this; } -Module::~Module() { allModules.erase(this); } +Module::~Module() { allModules.remove(this); } void Module::finish(Object *this_obj) @@ -65,7 +64,7 @@ Module::finish(Object *this_obj) // This is called from the constructor of this_obj, so it can't use // dynamic cast. sc_mod(static_cast<::sc_core::sc_module *>(this_obj->sc_obj())); - allModules.insert(this); + allModules.emplace_back(this); } void @@ -95,6 +94,6 @@ newModule() void callbackModule(Module *m) { _callbackModule = m; } Module *callbackModule() { return _callbackModule; } -std::set<Module *> allModules; +std::list<Module *> allModules; } // namespace sc_gem5 diff --git a/src/systemc/core/module.hh b/src/systemc/core/module.hh index 7e54e29d5..a5bf92975 100644 --- a/src/systemc/core/module.hh +++ b/src/systemc/core/module.hh @@ -31,8 +31,8 @@ #define __SYSTEMC_CORE_MODULE_HH__ #include <cassert> +#include <list> #include <map> -#include <set> #include <sstream> #include <string> @@ -109,7 +109,7 @@ Module *newModule(); void callbackModule(Module *m); Module *callbackModule(); -extern std::set<Module *> allModules; +extern std::list<Module *> allModules; } // namespace sc_gem5 |