| 8393 | return m_iterators != other.m_iterators; |
| 8394 | } |
| 8395 | auto operator *() const -> std::string { |
| 8396 | std::string row, padding; |
| 8397 | |
| 8398 | for (size_t i = 0; i < m_columns.size(); ++i) { |
| 8399 | auto width = m_columns[i].width(); |
| 8400 | if (m_iterators[i] != m_columns[i].end()) { |
| 8401 | std::string col = *m_iterators[i]; |
| 8402 | row += padding + col; |
| 8403 | if (col.size() < width) |
| 8404 | padding = std::string(width - col.size(), ' '); |
| 8405 | else |
| 8406 | padding = ""; |
| 8407 | } else { |
| 8408 | padding += std::string(width, ' '); |
| 8409 | } |
| 8410 | } |
| 8411 | return row; |
| 8412 | } |
| 8413 | auto operator ++() -> iterator& { |
| 8414 | for (size_t i = 0; i < m_columns.size(); ++i) { |
| 8415 | if (m_iterators[i] != m_columns[i].end()) |