Primitive Types¶
-
enum
ixion::value_t¶ Values:
-
value_none= 0x00¶
-
value_string= 0x01¶
-
value_numeric= 0x02¶
-
value_boolean= 0x04¶
-
-
enum
ixion::table_area_t¶ Value that specifies the area inside a table.
Values:
-
table_area_none= 0x00¶
-
table_area_data= 0x01¶
-
table_area_headers= 0x02¶
-
table_area_totals= 0x04¶
-
table_area_all= 0x07¶
-
-
enum
ixion::formula_name_resolver_t¶ Formula name resolver type specifies how name tokens are resolved.
Values:
-
unknown= 0
-
excel_a1= 1¶
-
excel_r1c1= 2¶
-
calc_a1= 3¶
-
odff= 4¶
-
-
enum
ixion::formula_error_t¶ Formula error types.
- See
- ixion::get_formula_error_name
Values:
-
no_error= 0¶
-
ref_result_not_available= 1¶
-
division_by_zero= 2¶
-
invalid_expression= 3¶
-
name_not_found= 4¶
-
no_range_intersection= 5¶
-
invalid_value_type= 6¶
-
no_result_error= 253¶
-
stack_error= 254¶
-
general_error= 255¶
-
using
ixion::col_t= int32_t¶ Column index type.
-
using
ixion::row_t= int32_t¶ Row index type.
-
using
ixion::sheet_t= int32_t¶ Sheet index type.
-
using
ixion::rc_t= row_t¶ Integer type that is large enough to store either a row or a column index.
-
using
ixion::string_id_t= uint64_t¶ String ID type.
All string values are converted into integer tokens. You need to call the get_string() method of ixion::iface::formula_model_access to get the actual string value.
-
using
ixion::table_areas_t= int32_t¶ type that stores a mixture of ixion::table_area_t values.
-
class
values_t¶ type that stores a mixture of value_t values.
-
const string_id_t
ixion::empty_string_id¶ Global string ID representing an empty string.
-
const sheet_t
ixion::global_scope¶ Special sheet ID that represents a global scope, as opposed to a sheet-local scope.
-
const char *
ixion::get_formula_error_name(formula_error_t fe)¶ Get a string representation of a formula error type.
- Return
- string representation of the formula error type.
- Parameters
fe: enum value representing a formula error type.
Store Types¶
-
using
ixion::boolean_element_block= mdds::mtv::boolean_element_block¶
-
using
ixion::numeric_element_block= mdds::mtv::double_element_block¶
-
using
ixion::string_element_block= mdds::mtv::uint64_element_block¶
-
using
ixion::formula_element_block= mdds::mtv::noncopyable_managed_element_block<element_type_formula, ixion::formula_cell>¶
-
using
ixion::ixion_element_block_func= mdds::mtv::custom_block_func1<formula_element_block>¶
-
using
ixion::column_store_t= mdds::multi_type_vector<ixion_element_block_func>¶ Type that represents a whole column.
-
using
ixion::column_stores_t= std::deque<column_store_t>¶ Type that represents a collection of columns.
-
using
ixion::matrix_store_t= mdds::multi_type_matrix<matrix_store_trait>¶
-
struct
matrix_store_trait¶ The integer element blocks are used to store string ID’s. The actual string element blocks are not used in the matrix store in ixion.
-
constexpr mdds::mtv::element_t
ixion::element_type_empty= mdds::mtv::element_type_empty¶
-
constexpr mdds::mtv::element_t
ixion::element_type_boolean= mdds::mtv::element_type_boolean¶
-
constexpr mdds::mtv::element_t
ixion::element_type_numeric= mdds::mtv::element_type_double¶
-
constexpr mdds::mtv::element_t
ixion::element_type_string= mdds::mtv::element_type_uint64¶
-
constexpr mdds::mtv::element_t
ixion::element_type_formula= mdds::mtv::element_type_user_start¶
Address Types¶
-
struct
address_t¶ Stores either absolute or relative address.
Public Functions
-
address_t()¶
-
address_t(sheet_t _sheet, row_t _row, col_t _column, bool _abs_sheet = true, bool _abs_row = true, bool _abs_column = true)¶
-
address_t(const abs_address_t &r)¶
-
bool
valid() const¶
-
abs_address_t
to_abs(const abs_address_t &origin) const¶
-
std::string
get_name() const¶
-
void
set_absolute(bool abs)¶
-
struct
hash¶
-
-
struct
abs_address_t¶ Stores absolute address, and absolute address only.
Public Functions
-
abs_address_t()¶
-
abs_address_t(init_invalid)¶
-
abs_address_t(const abs_address_t &r)¶
-
bool
valid() const¶
-
std::string
get_name() const¶
-
struct
hash¶ Public Functions
-
size_t
operator()(const abs_address_t &addr) const¶
-
size_t
-
-
struct
range_t¶ Stores range whose component may be relative or absolute.
Public Functions
-
range_t()¶
-
range_t(const abs_range_t &r)¶
-
bool
valid() const¶
-
void
set_all_columns()¶ Expand the range horizontally to include all columns. The row range will remain unchanged.
-
void
set_all_rows()¶ Expand the range vertically to include all rows. The column range will remain unchanged.
-
bool
all_columns() const¶ - Return
- true if the range is unspecified in the horizontal direction i.e. all columns are selected, false otherwise.
-
bool
all_rows() const¶ - Return
- true if the range is unspecified in the vertical direction i.e. all rows are selected, false otherwise.
-
abs_range_t
to_abs(const abs_address_t &origin) const¶
-
void
set_absolute(bool abs)¶
-
struct
hash¶
-
-
struct
abs_range_t¶ Stores absolute range address.
Public Functions
-
abs_range_t()¶
-
abs_range_t(init_invalid)¶
-
abs_range_t(sheet_t _sheet, row_t _row, col_t _col, row_t _row_span, col_t _col_span)¶ - Parameters
_sheet: 0-based sheet index._row: 0-based row position of the top-left cell of the range._col: 0-based column position of the top-left cell of the range._row_span: row length of the range. It must be 1 or greater._col_span: column length of the range. It must be 1 or greater.
-
abs_range_t(const abs_address_t &addr)¶
-
bool
valid() const¶
-
void
set_all_columns()¶ Expand the range horizontally to include all columns. The row range will remain unchanged.
-
void
set_all_rows()¶ Expand the range vertically to include all rows. The column range will remain unchanged.
-
bool
all_columns() const¶ - Return
- true if the range is unspecified in the horizontal direction i.e. all columns are selected, false otherwise.
-
bool
all_rows() const¶ - Return
- true if the range is unspecified in the vertical direction i.e. all rows are selected, false otherwise.
-
bool
contains(const abs_address_t &addr) const¶ Check whether or not a given address is contained within this range.
-
struct
hash¶ Public Functions
-
size_t
operator()(const abs_range_t &range) const¶
-
size_t
-
-
using
ixion::abs_address_set_t= std::unordered_set<abs_address_t, abs_address_t::hash>¶ Type that represents a collection of multiple cell addresses.
-
using
ixion::abs_range_set_t= std::unordered_set<abs_range_t, abs_range_t::hash>¶
-
using
ixion::abs_rc_range_set_t= std::unordered_set<abs_rc_range_t, abs_rc_range_t::hash>¶