using namespace std;
+ struct Table::OutputInfo
+ {
+ OutputInfo(const Table& table);
+
+ void calculate_hidden(const Table& table, const Table::Row& row);
+ void calculate_widths(const Table& table, const Table::Row& row, unsigned indent);
+ size_t calculate_total_width(const Table& table) const;
+ void calculate_abbriviated_widths(const Table& table);
+
+ vector<bool> hidden;
+ vector<size_t> widths;
+ };
+
+
Table::OutputInfo::OutputInfo(const Table& table)
{
// calculate hidden, default to false
void
- Table::output(std::ostream& s, const Table::Row& row, const OutputInfo& output_info, const vector<bool>& lasts) const
+ Table::output(std::ostream& s, const OutputInfo& output_info, const Table::Row& row, const vector<bool>& lasts) const
{
s << string(global_indent, ' ');
{
vector<bool> sub_lasts = lasts;
sub_lasts.push_back(i == subrows.size() - 1);
- output(s, subrows[i], output_info, sub_lasts);
+ output(s, output_info, subrows[i], sub_lasts);
}
}
// output header and rows
if (table.show_header)
- table.output(s, table.header, output_info, {});
+ table.output(s, output_info, table.header, {});
if (table.show_header && table.show_grid)
table.output(s, output_info);
for (const Table::Row& row : table.rows)
- table.output(s, row, output_info, {});
+ table.output(s, output_info, row, {});
return s;
}
size_t id_to_index(Id id) const;
- struct OutputInfo
- {
- OutputInfo(const Table& table);
-
- void calculate_hidden(const Table& table, const Table::Row& row);
- void calculate_widths(const Table& table, const Table::Row& row, unsigned indent);
- size_t calculate_total_width(const Table& table) const;
- void calculate_abbriviated_widths(const Table& table);
-
- vector<bool> hidden;
- vector<size_t> widths;
- };
+ struct OutputInfo;
- void output(std::ostream& s, const Table::Row& row, const OutputInfo& output_info,
+ void output(std::ostream& s, const OutputInfo& output_info, const Table::Row& row,
const vector<bool>& lasts) const;
void output(std::ostream& s, const OutputInfo& output_info) const;