21 #ifndef GEOS_COMMON_FORMAT_TABLE_TABLEMPICOMPONENTS_HPP
22 #define GEOS_COMMON_FORMAT_TABLE_TABLEMPICOMPONENTS_HPP
76 template<
typename DATASOURCE >
77 void toStream( std::ostream & outputStream, DATASOURCE
const & tableData )
const;
86 { m_sortingFunctor = std::move( func ); }
96 bool const m_isMasterRank;
97 bool const m_isContributing;
102 TableMpiLayout m_mpiLayout;
106 std::optional< SortingFunc > m_sortingFunctor;
114 void stretchColumnsByRanks( stdVector< size_t > & columnsWidth,
115 Status
const & status )
const;
121 TableData gatherTableDataRank0( TableData
const & localTableData )
const;
131 void gatherAndOutputTableDataInRankOrder( std::ostream & tableOutput,
133 PreparedTableLayout
const & tableLayout,
134 TableTextMpiFormatter::Status & status )
const;
Class for setup the table layout.
Class to format data in a formatted text format (for log output typically, expecting fixed character ...
TableTextFormatter()
Construct a default Table Formatter without layout specification (to only insert data in it,...
class to format data in a formatted text format, allowing contributions from multiple MPI ranks.
void toStream(std::ostream &outputStream, DATASOURCE const &tableData) const
Convert a data source to a table string.
std::function< bool(stdVector< TableData::CellData >, stdVector< TableData::CellData >) > SortingFunc
Callable comparison function object used for std::sort for a TableData.
void setSortingFunc(SortingFunc &&func)
Set the row sorting function.
TableTextMpiFormatter(TableLayout const &tableLayout, TableMpiLayout mpiLayout=TableMpiLayout())
Construct a new TableTextMpiOutput from a tableLayout.
TableTextMpiFormatter(TableMpiLayout mpiLayout=TableMpiLayout())
Construct a default Table Formatter without layout specification (to only insert data in it,...
internal::StdVectorWrapper< T, Allocator, USE_STD_CONTAINER_BOUNDS_CHECKING > stdVector
Layout information specific to MPI distributed tables, completing those in TableLayout.
string m_rankTitle
Title for each rank's section visible in the separating line.
bool m_separatorBetweenRanks
Enable a separating line between ranks in the table output.