#ifndef LISTFORMATTER__H #define LISTFORMATTER__H #include #include #include #include #include namespace newsbeuter { class listformatter { typedef std::pair line_id_pair; public: listformatter(); ~listformatter(); void add_line(const std::string& text, unsigned int id = UINT_MAX, unsigned int width = 0); void add_lines(const std::vector& lines, unsigned int width = 0); std::string format_list(regexmanager * r = NULL, const std::string& location = ""); inline unsigned int get_lines_count() { return lines.size(); } private: std::vector lines; std::string format_cache; bool refresh_cache; }; } #endif