Types

enum ixion::fopcode_t

formula opcode type

Values:

enumerator fop_unknown
enumerator fop_single_ref
enumerator fop_range_ref
enumerator fop_table_ref
enumerator fop_named_expression
enumerator fop_string
enumerator fop_value
enumerator fop_function
enumerator fop_plus
enumerator fop_minus
enumerator fop_divide
enumerator fop_multiply
enumerator fop_exponent
enumerator fop_concat
enumerator fop_equal
enumerator fop_not_equal
enumerator fop_less
enumerator fop_greater
enumerator fop_less_equal
enumerator fop_greater_equal
enumerator fop_open
enumerator fop_close
enumerator fop_sep
enumerator fop_error

Matrix

class matrix

2-dimensional matrix consisting of elements of variable types. Each element can be numeric, string, or empty. This class is used to represent range values or in-line matrices.

Public Types

enum class element_type

Values:

enumerator numeric
enumerator string
enumerator boolean
enumerator error
enumerator empty

Public Functions

matrix()
matrix(size_t rows, size_t cols)
matrix(size_t rows, size_t cols, double numeric)
matrix(size_t rows, size_t cols, bool boolean)
matrix(size_t rows, size_t cols, const std::string &str)
matrix(size_t rows, size_t cols, formula_error_t error)
matrix(const matrix &other)
matrix(matrix &&other)
matrix(const numeric_matrix &other)
~matrix()
matrix &operator=(matrix other)
bool is_numeric() const

Determine if the entire matrix consists only of numeric value elements.

Returns:

true if the entire matrix consits only of numeric value elements, false otherwise.

bool get_boolean(size_t row, size_t col) const
bool is_numeric(size_t row, size_t col) const
double get_numeric(size_t row, size_t col) const
void set(size_t row, size_t col, double val)
void set(size_t row, size_t col, bool val)
void set(size_t row, size_t col, const std::string &str)
void set(size_t row, size_t col, formula_error_t val)
element get(size_t row, size_t col) const
size_t row_size() const
size_t col_size() const
void swap(matrix &r)
numeric_matrix as_numeric() const
bool operator==(const matrix &r) const
bool operator!=(const matrix &r) const
struct element

Public Types

using value_type = std::variant<double, bool, std::string_view, formula_error_t>

Public Members

element_type type
value_type value
class numeric_matrix

Public Functions

numeric_matrix()
numeric_matrix(size_t rows, size_t cols)
numeric_matrix(std::vector<double> array, size_t rows, size_t cols)
numeric_matrix(numeric_matrix &&r)
~numeric_matrix()
numeric_matrix &operator=(numeric_matrix other)
double &operator()(size_t row, size_t col)
const double &operator()(size_t row, size_t col) const
void swap(numeric_matrix &r)
size_t row_size() const
size_t col_size() const