| 178 | } |
| 179 | |
| 180 | std::vector<Module*> ModuleRegistry::GetLoadedModules() |
| 181 | { |
| 182 | MutexLock lock(*modulesLock()); |
| 183 | |
| 184 | std::vector<Module*> result; |
| 185 | ModuleMap::const_iterator iter = modules()->begin(); |
| 186 | ModuleMap::const_iterator iterEnd = modules()->end(); |
| 187 | for (; iter != iterEnd; ++iter) |
| 188 | { |
| 189 | if (iter->second->IsLoaded()) |
| 190 | { |
| 191 | result.push_back(iter->second); |
| 192 | } |
| 193 | } |
| 194 | return result; |
| 195 | } |
| 196 | |
| 197 | // Control the static initialization order for several core objects |
| 198 | struct StaticInitializationOrder |