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 for (
const auto& child : other.children)
69 children.push_back(std::make_unique<Node>(*child));
70 for (
const auto& pair : other.propertyValuePairs)
71 propertyValuePairs[pair.first] = std::make_unique<ValueNode>(*pair.second);
74 Node* parent =
nullptr;
75 std::vector<std::unique_ptr<Node>> children;
76 std::map<String, std::unique_ptr<ValueNode>> propertyValuePairs;
85 ValueNode(String v = U
"") : value(std::move(v)) {}
88 bool listNode =
false;
89 std::vector<String> valueList;
99 TGUI_NODISCARD
static std::unique_ptr<Node> parse(std::stringstream& stream);
107 static void emit(
const std::unique_ptr<Node>& rootNode, std::stringstream& stream);
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:36