44 #if !defined(HAVE_CXX0X) || (defined(_MSC_VER) && _MSC_VER <= 1800)
46 : data_type_(std::move(other.data_type_)), parent_(std::move(other.parent_)), children(std::move(children))
51 data_type_ = std::move(other.data_type_);
52 parent_ = std::move(other.parent_);
53 children = std::move(other.children);
68 child->setParent(
this);
69 children.push_back(std::move(child));
74 if (children.size() > index)
76 children.erase(children.begin() + index);
91 return children[index].get();
106 return children.size();
117 std::vector<std::unique_ptr<BaseNode>> children;
134 #if !defined(HAVE_CXX0X) || (defined(_MSC_VER) && _MSC_VER <= 1800)
136 :
BaseNode(std::move(other)), attributes_(std::move(other.attributes_)), data_(std::move(other.data_))
142 attributes__ = std::move(other.attributes_);
143 data_ = std::move(other.data_);
153 void setData(std::unique_ptr<T> data);
155 void addAttribute(
const std::string& name,
const std::string& value);
159 std::map<std::string, std::string> attributes_;
160 std::unique_ptr<T> data_;
187 return std::move(data_);
193 data_ = std::move(data);
199 attributes_[name] = value;
211 #endif // !_XML_TREE_