#pragma once class BitStream3 { public: BitStream3(); BitStream3(int bitCount); ~BitStream3(); void Create(int bitCount); void Attach(void * buf, int bitCount); int Write(const unsigned char * buf, int bitCount); int WriteUInt16(unsigned short val); int Read(unsigned char * buf, int bitCount); int ReadUInt16(unsigned short * val); unsigned char * GetBuffer(); protected: bool ownMemory; unsigned char * buffer; int bufSize, bitSize; int currentBit, currentByte; static const unsigned char hiMask[]; };