#pragma once #include "Buffer.h" class BitReader { public: int k = 8; Buffer buffer; char x = 0; size_t pos = 0; int readInt() { int ret = *(int *)&buffer.buffer[pos]; pos += 4; return ret; } unsigned short int readShort() { short ret = *(unsigned short int *)&buffer.buffer[pos]; pos += 2; return ret; } char readByte() { x = buffer.buffer[pos]; pos++; return x; } bool readBit() { if (k == 8) { readByte(); k = 0; } bool b = (x >> k) & 1; k++; return b; } };