Set the parent of a node passed to add_child, and return it for conveniance
This commit is contained in:
@@ -152,15 +152,17 @@ XmlNode* XmlNode::get_child(const std::string& name) const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XmlNode::add_child(XmlNode* child)
|
XmlNode* XmlNode::add_child(XmlNode* child)
|
||||||
{
|
{
|
||||||
|
child->parent = this;
|
||||||
this->children.push_back(child);
|
this->children.push_back(child);
|
||||||
|
return child;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XmlNode::add_child(XmlNode&& child)
|
XmlNode* XmlNode::add_child(XmlNode&& child)
|
||||||
{
|
{
|
||||||
XmlNode* new_node = new XmlNode(std::move(child));
|
XmlNode* new_node = new XmlNode(std::move(child));
|
||||||
this->add_child(new_node);
|
return this->add_child(new_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
XmlNode* XmlNode::get_last_child() const
|
XmlNode* XmlNode::get_last_child() const
|
||||||
|
|||||||
@@ -77,8 +77,15 @@ public:
|
|||||||
* Get a pointer to the first child element with that name
|
* Get a pointer to the first child element with that name
|
||||||
*/
|
*/
|
||||||
XmlNode* get_child(const std::string& name) const;
|
XmlNode* get_child(const std::string& name) const;
|
||||||
void add_child(XmlNode* child);
|
/**
|
||||||
void add_child(XmlNode&& child);
|
* Add a node child to this node. Assign this node to the child’s parent.
|
||||||
|
* Returns a pointer to the newly added child.
|
||||||
|
*/
|
||||||
|
XmlNode* add_child(XmlNode* child);
|
||||||
|
XmlNode* add_child(XmlNode&& child);
|
||||||
|
/**
|
||||||
|
* Returns the last of the children
|
||||||
|
*/
|
||||||
XmlNode* get_last_child() const;
|
XmlNode* get_last_child() const;
|
||||||
/**
|
/**
|
||||||
* Mark this node as closed, nothing else
|
* Mark this node as closed, nothing else
|
||||||
|
|||||||
Reference in New Issue
Block a user