Very little performance fix on correctBlockNodeIds
authorLoic Blot <loic.blot@unix-experience.fr>
Tue, 18 Jul 2017 06:18:13 +0000 (08:18 +0200)
committerLoic Blot <loic.blot@unix-experience.fr>
Tue, 18 Jul 2017 06:18:13 +0000 (08:18 +0200)
+ C++11 codestyle

src/mapblock.cpp

index bf7f9dcd34f5c82909e25fee91e9b63dd8e0e86b..ed4f096924982a3d2146ff0193793efe07522f7d 100644 (file)
@@ -492,19 +492,17 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes,
        // the information to convert those to names.
        // nodedef contains information to convert our names to globally
        // correct ids.
-       std::set<content_t> unnamed_contents;
-       std::set<std::string> unallocatable_contents;
+       std::unordered_set<content_t> unnamed_contents;
+       std::unordered_set<std::string> unallocatable_contents;
        for (u32 i = 0; i < MapBlock::nodecount; i++) {
                content_t local_id = nodes[i].getContent();
                std::string name;
-               bool found = nimap->getName(local_id, name);
-               if(!found){
+               if (!nimap->getName(local_id, name)) {
                        unnamed_contents.insert(local_id);
                        continue;
                }
                content_t global_id;
-               found = nodedef->getId(name, global_id);
-               if(!found){
+               if (!nodedef->getId(name, global_id)) {
                        global_id = gamedef->allocateUnknownNodeId(name);
                        if(global_id == CONTENT_IGNORE){
                                unallocatable_contents.insert(name);
@@ -513,19 +511,16 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes,
                }
                nodes[i].setContent(global_id);
        }
-       for(std::set<content_t>::const_iterator
-                       i = unnamed_contents.begin();
-                       i != unnamed_contents.end(); ++i){
-               errorstream<<"correctBlockNodeIds(): IGNORING ERROR: "
-                               <<"Block contains id "<<(*i)
-                               <<" with no name mapping"<<std::endl;
+
+       for (const content_t c: unnamed_contents) {
+               errorstream << "correctBlockNodeIds(): IGNORING ERROR: "
+                               << "Block contains id " << c
+                               << " with no name mapping" << std::endl;
        }
-       for(std::set<std::string>::const_iterator
-                       i = unallocatable_contents.begin();
-                       i != unallocatable_contents.end(); ++i){
-               errorstream<<"correctBlockNodeIds(): IGNORING ERROR: "
-                               <<"Could not allocate global id for node name \""
-                               <<(*i)<<"\""<<std::endl;
+       for (const std::string &node_name: unallocatable_contents) {
+               errorstream << "correctBlockNodeIds(): IGNORING ERROR: "
+                               << "Could not allocate global id for node name \""
+                               << node_name << "\"" << std::endl;
        }
 }