27 separator_ = separator;
37 return (
int)column_headers_.size();
42 separator_ = separator;
64 throw std::invalid_argument(
"Column size has to be >= 4");
67 column_headers_.push_back(header_name);
68 column_widths_.push_back(column_width);
71void TablePrinter::PrintHorizontalLine(
int updown)
73 *out_stream_ << (updown > 0 ?
"┌" : updown < 0 ?
"└" :
"├");
75 for (
int i = 0; i < (int) column_widths_.size(); i++)
76 for (
int j = 0; j < column_widths_[i]; j++)
77 *out_stream_ << (!i || j ?
"─" : updown > 0 ?
"┬─" : updown < 0 ?
"┴─" :
"┼─");
79 *out_stream_ << (updown > 0 ?
"┐" : updown < 0 ?
"┘" :
"┤");
85 PrintHorizontalLine(1);
92 *out_stream_ << std::left;
94 *out_stream_ << std::right;
96 *out_stream_ << std::setw(column_widths_.at(i)) << column_headers_.at(i).substr(0, column_widths_.at(i));
99 *out_stream_ << separator_;
103 *out_stream_ <<
"│\n";
104 PrintHorizontalLine();
109 PrintHorizontalLine(-1);
114 OutputDecimalNumber<float>(input);
120 OutputDecimalNumber<double>(input);