inconsistencies between hipo::structure::get*
and hipo::bank::get*
return value types
It looks like hipo::structure::get*At
prefers to return fixed-width types (e.g., int8_t
, int16_t
, etc.), while hipo::bank::get*
prefers to return fundamental types (e.g., int
); however, this is not completely true:
-
hipo::structure::getLongAt
returnslong
rather thanint64_t
, and vice versa forhipo::bank::getLong
; it should be the other way around -
hipo::structure::getIntAt
returnsint
, but it should be fixed width, perhapsint32_t
-
note that C++23 adds fixed-width floating-point types, but that would require us to bump the standard up to 23, so let's not deal with that now -
be sure to also check all the typecasting, once these inconsistencies are resolved
type | hipo::structure::get___At(...) |
hipo::bank::get___(...) |
---|---|---|
Byte | int8_t |
int |
Short | int16_t |
int |
Int | int |
int |
Float | float |
float |
Double | double |
double |
Long | long |
int64_t |