- Timestamp:
- Jun 6, 2015, 2:45:20 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core7/src/libraries/core/module/ModuleInstance.cc
r10521 r10530 48 48 void ModuleInstance::addStaticallyInitializedInstance(StaticallyInitializedInstance* instance) 49 49 { 50 this->staticallyInitializedInstances_.insert(instance); 51 } 52 53 void ModuleInstance::loadAllStaticallyInitializedInstances() 54 { 55 for (std::set<StaticallyInitializedInstance*>::iterator it = this->staticallyInitializedInstances_.begin(); it != this->staticallyInitializedInstances_.end(); ++it) 56 (*it)->load(); 57 } 58 59 void ModuleInstance::unloadAllStaticallyInitializedInstances() 60 { 61 for (std::set<StaticallyInitializedInstance*>::iterator it = this->staticallyInitializedInstances_.begin(); it != this->staticallyInitializedInstances_.end(); ++it) 62 (*it)->unload(); 50 this->staticallyInitializedInstancesByType_[instance->getType()].insert(instance); 63 51 } 64 52 65 53 void ModuleInstance::removeStaticallyInitializedInstance(StaticallyInitializedInstance* instance) 66 54 { 67 this->staticallyInitializedInstances_.erase(instance); 55 this->staticallyInitializedInstancesByType_[instance->getType()].erase(instance); 56 } 57 58 void ModuleInstance::loadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type) 59 { 60 const std::set<StaticallyInitializedInstance*>& instances = this->staticallyInitializedInstancesByType_[type]; 61 for (std::set<StaticallyInitializedInstance*>::iterator it = instances.begin(); it != instances.end(); ++it) 62 (*it)->load(); 63 } 64 65 void ModuleInstance::unloadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type) 66 { 67 const std::set<StaticallyInitializedInstance*>& instances = this->staticallyInitializedInstancesByType_[type]; 68 for (std::set<StaticallyInitializedInstance*>::iterator it = instances.begin(); it != instances.end(); ++it) 69 (*it)->unload(); 68 70 } 69 71 70 72 void ModuleInstance::deleteAllStaticallyInitializedInstances() 71 73 { 72 std::set<StaticallyInitializedInstance*> copy(this->staticallyInitializedInstances_); 73 this->staticallyInitializedInstances_.clear(); 74 for (std::set<StaticallyInitializedInstance*>::iterator it = copy.begin(); it != copy.end(); ++it) 75 delete (*it); 74 std::map<StaticallyInitializedInstance::Type, std::set<StaticallyInitializedInstance*> > copy(this->staticallyInitializedInstancesByType_); 75 this->staticallyInitializedInstancesByType_.clear(); 76 for (std::map<StaticallyInitializedInstance::Type, std::set<StaticallyInitializedInstance*> >::iterator it1 = copy.begin(); it1 != copy.end(); ++it1) 77 for (std::set<StaticallyInitializedInstance*>::iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) 78 delete (*it2); 76 79 } 77 80
Note: See TracChangeset
for help on using the changeset viewer.