9namespace Azure {
namespace Data {
namespace Tables {
namespace _detail {
namespace Xml {
11 enum class XmlNodeType
22 explicit XmlNode(XmlNodeType type, std::string name = std::string())
23 : Type(type), Name(std::move(name))
27 explicit XmlNode(XmlNodeType type, std::string name, std::string value)
28 : Type(type), Name(std::move(name)), Value(std::move(value)), HasValue(true)
35 bool HasValue =
false;
38 class XmlReader final {
40 explicit XmlReader(
const char* data,
size_t length);
41 XmlReader(
const XmlReader& other) =
delete;
42 XmlReader& operator=(
const XmlReader& other) =
delete;
43 XmlReader(XmlReader&& other)
noexcept { *
this = std::move(other); }
44 XmlReader& operator=(XmlReader&& other)
noexcept
46 m_context = other.m_context;
47 other.m_context =
nullptr;
55 void* m_context =
nullptr;
58 class XmlWriter final {
61 XmlWriter(
const XmlWriter& other) =
delete;
62 XmlWriter& operator=(
const XmlWriter& other) =
delete;
63 XmlWriter(XmlWriter&& other)
noexcept { *
this = std::move(other); }
64 XmlWriter& operator=(XmlWriter&& other)
noexcept
66 m_context = other.m_context;
67 other.m_context =
nullptr;
72 void Write(XmlNode node);
74 std::string GetDocument();
77 void* m_context =
nullptr;