The OP2Memory code originally used void* to represent arbitrarily typed memory addresses. This led to a lot of casting of hardcoded memory addresses to void*. Instead, the library could take std::size_t, which would not require casting for hardcoded values. As the majority of values are hardcoded values determined from assembly analysis, not having to cast them would make the library code easier to work with. It should also reduce the need for internal type casting.
The OP2Memory code originally used
void*
to represent arbitrarily typed memory addresses. This led to a lot of casting of hardcoded memory addresses tovoid*
. Instead, the library could takestd::size_t
, which would not require casting for hardcoded values. As the majority of values are hardcoded values determined from assembly analysis, not having to cast them would make the library code easier to work with. It should also reduce the need for internal type casting.