abs_address_t

Defined in header: <ixion/address.hpp>

struct abs_address_t

Stores absolute address, and absolute address only.

Public Types

enum init_invalid

Tag type for constructing an invalid address.

Values:

enumerator invalid

Public Functions

abs_address_t()

Construct the address of the top-left cell of the first sheet.

abs_address_t(init_invalid)

Construct an invalid address, with all components set to -1.

abs_address_t(sheet_t _sheet, row_t _row, col_t _column)

Construct an address from its components.

abs_address_t(const abs_address_t &r)

Copy constructor.

bool valid() const

Check whether the address is valid, that is, no component is negative and the row and column positions are within their upper bounds.

::std::string get_name() const

Get a string representation of the address, for debugging.

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

Order addresses by sheet, then row, then column.

bool operator==(const abs_address_t &r) const

Compare all the components of two addresses.

Public Members

sheet_t sheet

0-based sheet index.

row_t row

0-based row position.

col_t column

0-based column position.

struct hash

Hash function for use in unordered containers.

Public Functions

size_t operator()(const abs_address_t &addr) const

Compute the hash value of an address.