#ifndef NNTPCHAN_TEMPLATE_ENGINE_HPP #define NNTPCHAN_TEMPLATE_ENGINE_HPP #include "file_handle.hpp" #include #include #include #include namespace nntpchan { struct TemplateEngine { using Args_t = std::map; virtual bool WriteTemplate(const std::string & template_fname, const Args_t & args, const FileHandle_ptr & out) = 0; }; TemplateEngine * CreateTemplateEngine(const std::string & dialect); typedef std::unique_ptr TemplateEngine_ptr; } #endif