10namespace Azure {
namespace Storage {
namespace _internal {
12 enum class XmlNodeType
23 explicit XmlNode(XmlNodeType type, std::string name = std::string())
24 : Type(type), Name(std::move(name))
28 explicit XmlNode(XmlNodeType type, std::string name, std::string value)
29 : Type(type), Name(std::move(name)), Value(std::move(value)), HasValue(true)
36 bool HasValue =
false;
39 class XmlReader final {
41 explicit XmlReader(
const char* data,
size_t length);
42 XmlReader(
const XmlReader& other) =
delete;
43 XmlReader& operator=(
const XmlReader& other) =
delete;
44 XmlReader(XmlReader&& other)
noexcept;
45 XmlReader& operator=(XmlReader&& other)
noexcept;
51 struct XmlReaderContext;
52 std::unique_ptr<XmlReaderContext> m_context;
55 class XmlWriter final {
58 XmlWriter(
const XmlWriter& other) =
delete;
59 XmlWriter& operator=(
const XmlWriter& other) =
delete;
60 XmlWriter(XmlWriter&& other)
noexcept;
61 XmlWriter& operator=(XmlWriter&& other)
noexcept;
64 void Write(XmlNode node);
66 std::string GetDocument();
69 struct XmlWriterContext;
70 std::unique_ptr<XmlWriterContext> m_context;