abs_rc_address_t

Defined in header: <ixion/address.hpp>

struct abs_rc_address_t

Stores absolute address, and absolute address only, but unlike the abs_address_t counterpart, this struct only stores row and column positions. The “rc” in the name stands for row and column.

Public Types

enum init_invalid

Tag type for constructing an invalid address.

Values:

enumerator invalid

Public Functions

abs_rc_address_t()

Construct the address of the top-left cell.

abs_rc_address_t(init_invalid)

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

abs_rc_address_t(row_t _row, col_t _column)

Construct an address from its components.

abs_rc_address_t(const abs_rc_address_t &r)

Copy constructor.

abs_rc_address_t(const abs_address_t &r)

Construct an address from the row and column of an address with a sheet.

bool valid() const

Check whether the address is valid, that is, neither component is negative and both are within their upper bounds.

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

Order addresses by row, then column.

bool operator==(const abs_rc_address_t &r) const

Compare both components of two addresses.

Public Members

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_rc_address_t &addr) const

Compute the hash value of an address.