Skip to content

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 returns long rather than int64_t, and vice versa for hipo::bank::getLong; it should be the other way around
  • hipo::structure::getIntAt returns int, but it should be fixed width, perhaps int32_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