abs_range_t

Defined in header: <ixion/address.hpp>

struct abs_range_t

Stores absolute range address.

Public Types

enum init_invalid

Values:

enumerator invalid

Public Functions

abs_range_t()
abs_range_t(init_invalid)
abs_range_t(sheet_t _sheet, row_t _row, col_t _col)
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)
abs_range_t(const abs_address_t &addr, row_t row_span, col_t col_span)
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
Returns:

true if the range is unspecified in the horizontal direction i.e. all columns are selected, false otherwise.

bool all_rows() const
Returns:

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.

void reorder()

Reorder range values as needed to ensure the range is valid.

std::strong_ordering operator<=>(const abs_range_t &r) const
bool operator==(const abs_range_t &r) const

Public Members

abs_address_t first
abs_address_t last
struct hash

Public Functions

size_t operator()(const abs_range_t &range) const