Little cleanup of the XmlNode class

Use map instead of unordered map (it's not slower, and it's shorter).
Use the default move constructor.
This commit is contained in:
Florent Le Coz
2015-09-01 04:56:06 +02:00
parent d7e1214cbc
commit 38564d77c7
+4 -13
View File
@@ -1,7 +1,7 @@
#ifndef XMPP_STANZA_INCLUDED
# define XMPP_STANZA_INCLUDED
#include <unordered_map>
#include <map>
#include <string>
#include <vector>
@@ -24,18 +24,9 @@ class XmlNode
public:
explicit XmlNode(const std::string& name, XmlNode* parent);
explicit XmlNode(const std::string& name);
XmlNode(XmlNode&& node):
name(std::move(node.name)),
parent(node.parent),
attributes(std::move(node.attributes)),
children(std::move(node.children)),
inner(std::move(node.inner)),
tail(std::move(node.tail))
{
node.parent = nullptr;
}
XmlNode(XmlNode&& node) = default;
/**
* The copy constructor do not copy the parent attribute. The children
* The copy constructor does not copy the parent attribute. The children
* nodes are all copied recursively.
*/
XmlNode(const XmlNode& node):
@@ -134,7 +125,7 @@ public:
private:
std::string name;
XmlNode* parent;
std::unordered_map<std::string, std::string> attributes;
std::map<std::string, std::string> attributes;
std::vector<XmlNode*> children;
std::string inner;
std::string tail;