306 {
307 auto colStr = tp.m_oss.str();
308
310 tp.m_oss.str("");
311 tp.open();
312 if (tp.m_currentColumn == static_cast<int>(tp.m_columnInfos.size() - 1)) {
313 tp.m_currentColumn = -1;
314 tp.m_os << "\n";
315 }
316 tp.m_currentColumn++;
317
318 auto colInfo = tp.m_columnInfos[tp.m_currentColumn];
319 auto padding = (strSize + 2 < static_cast<std::size_t>(colInfo.width))
320 ? std::string(colInfo.width - (strSize + 2), ' ')
321 : std::string();
322 if (colInfo.justification == ColumnInfo::Left)
323 tp.m_os << colStr << padding << " ";
324 else
325 tp.m_os << padding << colStr << " ";
326 return tp;
327 }
auto numberOfCharacters() const noexcept -> size_type