#ifndef NEWSBOAT_LISTFORMATTER_H_ #define NEWSBOAT_LISTFORMATTER_H_ #include #include #include #include #include namespace newsboat { 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); void set_line(const unsigned int itempos, const std::string& text, unsigned int id = UINT_MAX, unsigned int width = 0); void clear() { lines.clear(); } std::string format_list(regexmanager * r = nullptr, const std::string& location = ""); unsigned int get_lines_count() { return lines.size(); } private: std::vector lines; std::string format_cache; }; } #endif /* NEWSBOAT_LISTFORMATTER_H_ */