Document

Examples

Refer to the Using document class section for code examples on how to use the document class.

API Reference

class document

Higher level document representation designed to handle both cell value storage as well as formula cell calculations.

Public Functions

document()
document(formula_name_resolver_t cell_address_type)

Constructor with custom cell address type.

Parameters:

cell_address_type – cell address type to use for cell addresses represented by string values.

~document()
void append_sheet(std::string name)
cell_access get_cell_access(cell_pos pos) const
void set_numeric_cell(cell_pos pos, double val)
void set_string_cell(cell_pos pos, std::string_view s)
void set_boolean_cell(cell_pos pos, bool val)
void empty_cell(cell_pos pos)
double get_numeric_value(cell_pos pos) const
std::string_view get_string_value(cell_pos pos) const
void set_formula_cell(cell_pos pos, std::string_view formula)
void calculate(size_t thread_count)

Calculate all the “dirty” formula cells in the document.

Parameters:

thread_count – number of threads to use to perform calculation. When 0 is specified, it only uses the main thread.

struct cell_pos

Public Types

enum class cp_type

Values:

enumerator string
enumerator address

Public Functions

cell_pos(const char *p)
cell_pos(const char *p, size_t n)
cell_pos(const std::string &s)
cell_pos(const abs_address_t &addr)

Public Members

cp_type type
std::variant<std::string_view, ixion::abs_address_t> value