]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/parser.cpp
Use C++11 features with containers
[libs/gl.git] / source / glsl / parser.cpp
index 626a65424532e189aa30e6b376f5ca041425ef24..cc0233eab702b468704cc2b9b8703e383aeee813 100644 (file)
@@ -58,8 +58,8 @@ void Parser::parse_source(const string &name, int index)
 
        if(const Stage *builtin = get_builtins(Stage::SHARED))
        {
-               for(map<string, TypeDeclaration *>::const_iterator i=builtin->types.begin(); i!=builtin->types.end(); ++i)
-                       global_types.insert(i->first);
+               for(const auto &kvp: builtin->types)
+                       global_types.insert(kvp.first);
        }
 
        tokenizer.begin(source, name);
@@ -99,13 +99,13 @@ void Parser::stage_change(Stage::Type stage)
        cur_stage = &module->stages.back();
 
        stage_types.clear();
-       for(vector<const Module *>::const_iterator i=imported_modules.begin(); i!=imported_modules.end(); ++i)
+       for(const Module *m: imported_modules)
        {
-               list<Stage>::const_iterator j = find_member((*i)->stages, stage, &Stage::type);
-               if(j!=(*i)->stages.end())
+               auto j = find_member(m->stages, stage, &Stage::type);
+               if(j!=m->stages.end())
                {
-                       for(map<string, TypeDeclaration *>::const_iterator k=j->types.begin(); k!=j->types.end(); ++k)
-                               stage_types.insert(k->first);
+                       for(const auto &kvp: j->types)
+                               stage_types.insert(kvp.first);
                }
        }
 }
@@ -369,8 +369,8 @@ RefPtr<Import> Parser::parse_import()
        {
                const Module &imported_mod = mod_cache->get_module(import->module);
                imported_modules.push_back(&imported_mod);
-               for(map<string, TypeDeclaration *>::const_iterator i=imported_mod.shared.types.begin(); i!=imported_mod.shared.types.end(); ++i)
-                       global_types.insert(i->first);
+               for(const auto &kvp: imported_mod.shared.types)
+                       global_types.insert(kvp.first);
        }
 
        return import;