26#ifndef TGUI_DATA_IO_HPP
27#define TGUI_DATA_IO_HPP
31#include <TGUI/String.hpp>
33#if !TGUI_EXPERIMENTAL_USE_STD_MODULE
44TGUI_MODULE_EXPORT
namespace tgui
61 Node(Node&&) =
default;
62 Node& operator=(
const Node&) =
delete;
63 Node& operator=(Node&&) =
default;
65 Node(
const Node& other) :
71 for (
const auto& child : other.children)
72 children.push_back(std::make_unique<Node>(*child));
73 for (
const auto& pair : other.propertyValuePairs)
74 propertyValuePairs[pair.first] = std::make_unique<ValueNode>(*pair.second);
77 Node* parent =
nullptr;
78 std::vector<std::unique_ptr<Node>> children;
79 std::map<String, std::unique_ptr<ValueNode>> propertyValuePairs;
89 ValueNode(String v = U
"") : value(std::move(v)) {}
92 bool listNode =
false;
93 std::vector<String> valueList;
105 TGUI_NODISCARD
static std::unique_ptr<Node> parse(std::stringstream& stream);
115 static void emit(
const std::unique_ptr<Node>& rootNode, std::stringstream& stream);
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:39