table_t

Defined in header: <ixion/table.hpp>

struct table_t

Stores the data of a single table. A table is a 2-dimensional range of cells with named columns, whose range may include a header row at the top and one or more totals rows at the bottom. A formula expression may reference parts of a table via a table reference, represented by ixion::table_ref_t.

Public Functions

table_t()

Construct a table with no name, an invalid sheet and an invalid range.

table_t(const table_t &other)

Copy constructor.

table_t(table_t &&other)

Move constructor.

~table_t()
table_t &operator=(const table_t &other)

Copy assignment.

table_t &operator=(table_t &&other)

Move assignment.

bool operator==(const table_t &r) const

Compare all the fields of two tables.

Public Members

std::string name

Name of the table. It must be non-empty and unique within the model the table belongs to.

sheet_t sheet

0-based index of the sheet the table is on.

abs_rc_range_t range

Entire range of the table on its sheet, including the header row and the totals rows if present. It must be a valid range.

std::vector<std::string> columns

Names of the columns of the table in column order.

row_t totals_row_count

Number of totals rows at the bottom of the table range.