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::getLongAtreturnslongrather thanint64_t, and vice versa forhipo::bank::getLong; it should be the other way around -
hipo::structure::getIntAtreturnsint, 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 |