Interfaces

class session_handler

Public Functions

virtual ~session_handler()
virtual void begin_cell_interpret(const abs_address_t &pos) = 0
virtual void end_cell_interpret() = 0
virtual void set_result(const formula_result &result) = 0
virtual void set_invalid_expression(std::string_view msg) = 0
virtual void set_formula_error(std::string_view msg) = 0
virtual void push_token(fopcode_t fop) = 0
virtual void push_value(double val) = 0
virtual void push_error(formula_error_t err) = 0
virtual void push_string(size_t sid) = 0
virtual void push_single_ref(const address_t &addr, const abs_address_t &pos) = 0
virtual void push_range_ref(const range_t &range, const abs_address_t &pos) = 0
virtual void push_table_ref(const table_t &table) = 0
virtual void push_function(formula_function_t foc) = 0
class table_handler

Public Functions

virtual ~table_handler()
virtual abs_range_t get_range(const abs_address_t &pos, string_id_t column_first, string_id_t column_last, table_areas_t areas) const = 0

Get the data range associated with a given column name. The current position is used to infer which table to use.

Parameters:
  • pos – current cell position.

  • column_first – name of the starting column within the table.

  • column_last – name of the ending column within the table, or empty_string_id if it’s a single column.

  • areas – area specifiter value, which may consist of one or more values of table_area_t.

Returns:

referenced data range.

virtual abs_range_t get_range(string_id_t table, string_id_t column_first, string_id_t column_last, table_areas_t areas) const = 0

Get the data range associated with given table and column names.

Parameters:
  • table – string identifier representing the table name.

  • column_first – name of the starting column within the table.

  • column_last – name of the ending column within the table, or empty_string_id if it’s a single column.

  • areas – area specifiter value, which may consist of one or more values of table_area_t.

Returns:

referenced data range.