With -Wsign-conversion -Werror options I'm getting compilation error on m_index assign:
inline void wrapForDecode(
char *buffer,
std::uint64_t *pos,
const std::uint64_t actingVersion,
const std::uint64_t bufferLength)
{
[...]
m_index = -1;
[...]
}
It would be better to define m_index as std::int64_t. (but then hasNext() needs to be adjusted as well)