query_and_sort_dirty_cells
Defined in header: <ixion/formula.hpp>
-
std::vector<abs_range_t> ixion::query_and_sort_dirty_cells(model_context &cxt, const abs_range_set_t &modified_cells, const abs_range_set_t *dirty_formula_cells = nullptr)
Get a sequence of the positions of all formula cells that track at least one of the specified modified cells either directly or indirectly. Such formula cells are referred to as “dirty” formula cells. The sequence returned from this function is already sorted in topological order based on the dependency relationships between the affected formula cells. Note that if the model contains volatile formula cells, they will be included in the returned sequence each and every time.
Use query_dirty_cells() instead if you don’t need the results to be sorted in order of dependency, to avoid the extra overhead incurred by the sorting.
- Parameters:
cxt – model context.
modified_cells – a collection of non-formula cells whose values have been updated. You can specify one or more ranges of cells rather than individual cell positions.
dirty_formula_cells – (optional) a collection of formula cells that are already known to be dirty. These formula cells will be added to the list of the affected formula cells returned from this function. Note that even though this parameter is a set of cell ranges, regular formula cell positions must be given as single cell addresses. Only the positions of grouped formula cells must be given as ranges.
- Returns:
an sequence containing the positions of the formula cells that track at least one of the modified cells, as well as those formula cells that are already known to be dirty.