diff options
Diffstat (limited to 'include/cru/xml/XmlParser.hpp')
-rw-r--r-- | include/cru/xml/XmlParser.hpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/include/cru/xml/XmlParser.hpp b/include/cru/xml/XmlParser.hpp deleted file mode 100644 index e916cc53..00000000 --- a/include/cru/xml/XmlParser.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#pragma once - -#include "XmlNode.hpp" - -#include "cru/common/Exception.hpp" -#include "cru/common/String.hpp" - -#include <optional> - -namespace cru::xml { -class CRU_XML_API XmlParsingException : public Exception { - public: - using Exception::Exception; -}; - -class CRU_XML_API XmlParser { - public: - explicit XmlParser(String xml); - - CRU_DELETE_COPY(XmlParser) - CRU_DELETE_MOVE(XmlParser) - - ~XmlParser(); - - XmlElementNode* Parse(); - - private: - XmlElementNode* DoParse(); - - char16_t Read1(); - String ReadWithoutAdvance(int count = 1); - void ReadSpacesAndDiscard(); - String ReadSpaces(); - String ReadIdenitifier(); - String ReadAttributeString(); - - private: - String xml_; - - XmlElementNode* cache_ = nullptr; - - // Consider the while file enclosed by a single tag called $root. - XmlElementNode* pseudo_root_node_ = new XmlElementNode(u"$root"); - XmlElementNode* current_ = pseudo_root_node_; - int current_position_ = 0; -}; -} // namespace cru::xml |