28 #include <boost/lexical_cast.hpp>
40 : m_stream_holder(
std::move(stream_holder)) {}
45 <<
"has started is not allowed";
47 if (indicator.
empty()) {
57 <<
"has started is not allowed";
66 <<
"format is not allowed";
71 while (!message_stream.eof()) {
89 auto& info = *table.getColumnInfo();
91 for (
size_t i = 0; i < info.size(); ++i) {
92 auto& desc = info.getDescription(i);
95 if (!desc.unit.empty()) {
96 out <<
" (" << desc.unit <<
")";
98 if (!desc.description.empty()) {
99 out <<
" - " << desc.description;
109 for (
size_t i = 0; i < info.size(); ++i) {
110 out <<
std::setw(column_lengths[i]) <<
quoted(info.getDescription(i).name);
121 for (
auto row : table) {
122 for (
size_t i = 0; i < row.size(); ++i) {