#ifndef MODXML_SAX_PROCESSOR_HH #define MODXML_SAX_PROCESSOR_HH #include namespace modxml { namespace sax { class Delegate; /** * The XML processor, or parser if you like that term better. * Feed it data and the processor will give the delegate calls with events or * possibly errors. */ class Processor { public: virtual ~Processor() = default; /** * Construct a Processor. Same as creating a ProcessorBuilder * and not changing any options and just calling build. */ static std::unique_ptr create(std::shared_ptr delegate); protected: Processor() = default; private: Processor(Processor const&) = delete; Processor& operator=(Processor const&) = delete; }; } // namespace sax } // namespace modxml #endif // MODXML_SAX_PROCESSOR_HH