19#include <boost/algorithm/string.hpp>
24namespace GridContainer {
31template <
size_t I,
typename GridCellManager,
typename... Axes>
44 auto& axis = grid.template getAxis<I - 1>();
46 auto name = axis.name();
47 boost::replace_all(name,
" ",
"_");
66 template <
typename... Args>
69 auto& axis = grid.template getAxis<I - 1>();
70 for (
size_t i = 0; i < axis.size(); ++i) {
80 auto& axis = grid.template getAxis<I - 1>();
81 for (
size_t i = 0; i < axis.size(); ++i) {
90template <
typename GridCellManager,
typename... Axes>
100 template <
typename... Args>
109 cell_traits.
addCells(grid.at(axes.first...), row_content);
119template <
typename GridCellManager,
typename... AxesTypes>
121 using GridType =
GridContainer<GridCellManager, AxesTypes...>;
125 Helper::addColumnDescriptions(grid, columns);
135 Helper::unfold(grid, column_info, rows);
Representation of a multi-dimensional grid which contains axis information.
T emplace_back(T... args)
Table::Table gridContainerToTable(const GridContainer< GridCellManager, AxesTypes... > &grid)
static void addCells(const T &c, std::vector< Table::Row::cell_type > &row)
static void addColumnDescriptions(const T &c, std::vector< Table::ColumnDescription > &columns)
static void unfold(const GridContainer< GridCellManager, Axes... > &grid, const std::shared_ptr< Table::ColumnInfo > &column_info, std::vector< Table::Row > &rows, std::pair< size_t, Args >... axes)
static void addColumnDescriptions(const GridContainer< GridCellManager, Axes... > &, std::vector< Table::ColumnDescription > &)
static void unfold(const GridContainer< GridCellManager, Axes... > &grid, const std::shared_ptr< Table::ColumnInfo > &column_info, std::vector< Table::Row > &rows, std::pair< size_t, Args >... axes)
static void unfold(const GridContainer< GridCellManager, Axes... > &grid, const std::shared_ptr< Table::ColumnInfo > &column_info, std::vector< Table::Row > &rows)
static void addColumnDescriptions(const GridContainer< GridCellManager, Axes... > &grid, std::vector< Table::ColumnDescription > &description)