Я не был удовлетворен ни одним из тех, что нашел в Интернете, поэтому я написал свой собственный: https://github.com/friedmud/variadic_table
В нем используются шаблоны с переменными значениями, чтобы каждый столбец содержал различный тип. Также требуется только C ++ 11.
VariadicTable<std::string, double, int, std::string> vt({"Name", "Weight", "Age", "Brother"});
vt.addRow({"Cody", 180.2, 40, "John"});
vt.addRow({"David", 175.3, 38, "Andrew"});
vt.addRow({"Robert", 140.3, 27, "Fande"});
vt.print();
Будет выведено:
--------------------------------------
| Name | Weight | Age |Brother|
--------------------------------------
|Cody | 180.2| 40|John |
|David | 175.3| 38|Andrew |
|Robert| 140.3| 27|Fande |
--------------------------------------
Это активно используется в большом программном проекте - поэтому он будет поддерживаться и развиваться с течением времени. Не стесняйтесь задавать вопросы / PR