diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-06-26 01:37:48 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-09-27 18:38:28 +0200 |
commit | 51f0c23ac190c83bebeace8a49cd2ecd1143fa8c (patch) | |
tree | e45ceab35b6cc419f80be6c86753b6ccd1cd22f0 /tools | |
parent | 632da15234851f3decdbb29cbeb15e1950e41a0d (diff) | |
download | mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.gz mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.bz2 mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.xz mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.zip |
Replaced for_each_xml_child_node macro with helper class
The new XML::Children class enables using a C++11 range-based for loop
to iterate over the children of an xmlNodePtr.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/tmxcopy/map.cpp | 10 | ||||
-rw-r--r-- | tools/tmxcopy/xmlutils.cpp | 2 | ||||
-rw-r--r-- | tools/tmxcopy/xmlutils.h | 3 |
3 files changed, 6 insertions, 9 deletions
diff --git a/tools/tmxcopy/map.cpp b/tools/tmxcopy/map.cpp index 3e1f9bda..b8532f93 100644 --- a/tools/tmxcopy/map.cpp +++ b/tools/tmxcopy/map.cpp @@ -56,7 +56,7 @@ Map::Map(std::string filename): mWidth = XML::getProperty(rootNode, "width", 0); mHeight = XML::getProperty(rootNode, "height", 0); int layerNum = 0; - for_each_xml_child_node(node, rootNode) + for (auto node : XML::Children(rootNode)) { if (xmlStrEqual(node->name, BAD_CAST "tileset")) { @@ -66,7 +66,7 @@ Map::Map(std::string filename): tileset->tilewidth = XML::getProperty(node, "tilewidth", 0); tileset->tileheight = XML::getProperty(node, "tileheight", 0); tileset->firstgid = XML::getProperty(node, "firstgid", 0); - for_each_xml_child_node(imageNode, node) + for (auto imageNode : XML::Children(node)) { if (xmlStrEqual(imageNode->name, BAD_CAST "image")) tileset->imagefile = XML::getProperty(imageNode, "source", ""); @@ -77,7 +77,7 @@ Map::Map(std::string filename): } } - for_each_xml_child_node(node, rootNode) + for (auto node : XML::Children(rootNode)) { if (xmlStrEqual(node->name, BAD_CAST "layer")) { @@ -94,7 +94,7 @@ Map::Map(std::string filename): throw 1; } - for_each_xml_child_node(dataNode, node) + for (auto dataNode : XML::Children(node)) { if (!xmlStrEqual(dataNode->name, BAD_CAST "data")) continue; @@ -532,7 +532,7 @@ int Map::save(std::string filename) //remove old tileset and layer information in XML tree xmlNodePtr rootNode = xmlDocGetRootElement(mXmlDoc); std::list<xmlNodePtr> toRemove; - for_each_xml_child_node(node, rootNode) + for (auto node : XML::Children(rootNode)) { if ( xmlStrEqual(node->name, BAD_CAST "tileset") || xmlStrEqual(node->name, BAD_CAST "layer")) diff --git a/tools/tmxcopy/xmlutils.cpp b/tools/tmxcopy/xmlutils.cpp index 7bd7e7b8..04ab9d81 100644 --- a/tools/tmxcopy/xmlutils.cpp +++ b/tools/tmxcopy/xmlutils.cpp @@ -66,7 +66,7 @@ namespace XML xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name) { - for_each_xml_child_node(child, parent) + for (auto child : XML::Children(parent)) if (xmlStrEqual(child->name, BAD_CAST name)) return child; diff --git a/tools/tmxcopy/xmlutils.h b/tools/tmxcopy/xmlutils.h index 48b6edbf..0b77834a 100644 --- a/tools/tmxcopy/xmlutils.h +++ b/tools/tmxcopy/xmlutils.h @@ -55,7 +55,4 @@ namespace XML xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name); } -#define for_each_xml_child_node(var, parent) \ - for (xmlNodePtr var = parent->xmlChildrenNode; var; var = var->next) - #endif |