# ifndef TABLEPRINT_HPP
# define TABLEPRINT_HPP

#include <vector>
#include <string>
#include <iostream>

// tableprint is a class that prints a table of strings.
// formatted to look nice with colored headings and rows.
// converts :tick: to a green tick and :cross: to a red cross.
// assumes the first row is the header.
class tableprint {
    public:
        tableprint(const std::string title = "", bool compact = false);
        ~tableprint();
        void add_row(const std::vector<std::string>& row);
        void print();
        void set_title(const std::string title);
    private:
        std::vector<std::vector<std::string>> rows;
        std::string title;
        bool mCompact;
};

# endif
