25#ifndef TGUI_DATA_IO_HPP
26#define TGUI_DATA_IO_HPP
30#include <TGUI/String.hpp>
32#if !TGUI_EXPERIMENTAL_USE_STD_MODULE
43TGUI_MODULE_EXPORT
namespace tgui
60 Node(Node&&) =
default;
61 Node& operator=(
const Node&) =
delete;
62 Node& operator=(Node&&) =
default;
64 Node(
const Node& other) :
70 for (
const auto& child : other.children)
71 children.push_back(std::make_unique<Node>(*child));
72 for (
const auto& pair : other.propertyValuePairs)
73 propertyValuePairs[pair.first] = std::make_unique<ValueNode>(*pair.second);
76 Node* parent =
nullptr;
77 std::vector<std::unique_ptr<Node>> children;
78 std::map<String, std::unique_ptr<ValueNode>> propertyValuePairs;
87 ValueNode(String v = U
"") : value(std::move(v)) {}
90 bool listNode =
false;
91 std::vector<String> valueList;
101 TGUI_NODISCARD
static std::unique_ptr<Node> parse(std::stringstream& stream);
109 static void emit(
const std::unique_ptr<Node>& rootNode, std::stringstream& stream);
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:38