25#ifndef TGUI_DATA_IO_HPP
26#define TGUI_DATA_IO_HPP
30#include <TGUI/String.hpp>
58 Node(Node&&) =
default;
59 Node& operator=(
const Node&) =
delete;
60 Node& operator=(Node&&) =
default;
62 Node(
const Node& other) :
68 children.reserve(other.children.size());
69 for (
const auto& child : other.children)
70 children.push_back(std::make_unique<Node>(*child));
71 for (
const auto& pair : other.propertyValuePairs)
72 propertyValuePairs[pair.first] = std::make_unique<ValueNode>(*pair.second);
75 Node* parent =
nullptr;
76 std::vector<std::unique_ptr<Node>> children;
77 std::map<String, std::unique_ptr<ValueNode>> propertyValuePairs;
86 ValueNode(String v = U
"") :
92 bool listNode =
false;
93 std::vector<String> valueList;
103 [[nodiscard]]
static std::unique_ptr<Node> parse(std::stringstream& stream);
111 static void emit(
const std::unique_ptr<Node>& rootNode, std::stringstream& stream);
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:37