#ifndef MODXML_SAX_DELEGATE_HH #define MODXML_SAX_DELEGATE_HH #include #include namespace modxml { namespace sax { class Attributes; /** * Delegate for processor. * Implement to handle events. */ class Delegate { public: virtual ~Delegate() = default; virtual void start_element(std::string_view name, Attributes const& attributes); virtual void end_element(std::string_view name); virtual void empty_element(std::string_view name, Attributes const& attributes); virtual void character_data(std::string_view data); virtual void processing_instruction(std::string_view target, std::string_view data); virtual void comment(std::string_view data); virtual void error(std::string_view message); protected: Delegate() = default; }; } // namespace sax } // namespace modxml #endif // MODXML_SAX_DELEGATE_HH