#ifndef HTML_TOKEN_HPP #define HTML_TOKEN_HPP #include #include "code_point.h" enum HtmlTokenType { HtmlTokenType_None = 0, HtmlTokenType_StartTag, HtmlTokenType_EndTag, HtmlTokenType_Attribute, HtmlTokenType_EOF, HtmlTokenType_Character, HtmlTokenType_Length }; struct HtmlToken { HtmlTokenType type; // TODO: Performance char character_token; std::string tag_name; void append_to_tag_name(code_point_t c) { tag_name += c; } void print(); void reset(); }; #endif