这几个函数的意思
template <class T>
__int64 read_int(int cb, const T r0)
{
const unsigned char* r = reinterpret_cast<const unsigned char*>(r0);
__int64 v = 0;
while (cb--)
v = v << 8 | *r++;
return v;
}
template <class T>
__int64 read_int(int cb, const T r, const T s_end)
{
return read_int(cb, r);
}
template <class T>
T write_int(int cb, T w0, __int64 v)
{
unsigned char* w = reinterpret_cast<unsigned char*>(w0);
w += cb;
for (int i = 0; i < cb; i++)
{
*--w = v & 0xff;
v >>= 8;
}
return reinterpret_cast<T>(w + cb);
}
template <class T>
__int64 read_int_le(int cb, const T r0)
{
const unsigned char* r = reinterpret_cast<const unsigned char*>(r0);
r += cb;
__int64 v = 0;
while (cb--)
v = v << 8 | *--r;
return v;
}
template <class T>
__int64 read_int_le(int cb, const T r, const T s_end)
{
return read_int_le(cb, r);
}
template <class T>
T write_int_le(int cb, T w0, __int64 v)
{
unsigned char* w = reinterpret_cast<unsigned char*>(w0);
for (int i = 0; i < cb; i++)
{
*w++ = v & 0xff;
v >>= 8;
}
return reinterpret_cast<T>(w);
}