XmlNode::add_child can also take a copy of a node

This commit is contained in:
Florent Le Coz
2015-09-18 22:09:26 +02:00
parent 45e8fe56a6
commit 1031989fe2
2 changed files with 7 additions and 0 deletions
+6
View File
@@ -178,6 +178,12 @@ XmlNode* XmlNode::add_child(XmlNode&& child)
return this->add_child(std::move(new_node)); return this->add_child(std::move(new_node));
} }
XmlNode* XmlNode::add_child(const XmlNode& child)
{
auto new_node = std::make_unique<XmlNode>(child);
return this->add_child(std::move(new_node));
}
XmlNode* XmlNode::get_last_child() const XmlNode* XmlNode::get_last_child() const
{ {
return this->children.back().get(); return this->children.back().get();
+1
View File
@@ -87,6 +87,7 @@ public:
*/ */
XmlNode* add_child(std::unique_ptr<XmlNode> child); XmlNode* add_child(std::unique_ptr<XmlNode> child);
XmlNode* add_child(XmlNode&& child); XmlNode* add_child(XmlNode&& child);
XmlNode* add_child(const XmlNode& child);
/** /**
* Returns the last of the children. If the node doesn't have any child, * Returns the last of the children. If the node doesn't have any child,
* the behaviour is undefined. The user should make sure this is the case * the behaviour is undefined. The user should make sure this is the case