ModuleCache::ModuleCache(const ModuleCache &other)
{
- for(map<string, Module *>::const_iterator i=other.modules.begin(); i!=other.modules.end(); ++i)
- modules[i->first] = new Module(*i->second);
+ for(const auto &kvp: other.modules)
+ modules[kvp.first] = new Module(*kvp.second);
}
ModuleCache &ModuleCache::operator=(const ModuleCache &other)
{
- for(map<string, Module *>::iterator i=modules.begin(); i!=modules.end(); ++i)
- delete i->second;
+ for(auto &kvp: modules)
+ delete kvp.second;
modules.clear();
- for(map<string, Module *>::const_iterator i=other.modules.begin(); i!=other.modules.end(); ++i)
- modules[i->first] = new Module(*i->second);
+ for(const auto &kvp: other.modules)
+ modules[kvp.first] = new Module(*kvp.second);
return *this;
}
ModuleCache::~ModuleCache()
{
- for(map<string, Module *>::iterator i=modules.begin(); i!=modules.end(); ++i)
- delete i->second;
+ for(auto &kvp: modules)
+ delete kvp.second;
}
const Module &ModuleCache::add_module(const string &source, const string &src_name)
const Module &ModuleCache::get_module(const string &name)
{
string fn = name+".glsl";
- map<string, Module *>::const_iterator i = modules.find(fn);
+ auto i = modules.find(fn);
if(i!=modules.end())
return *i->second;