#pragma once #include "BitStream.h" #include class OutputBitStream : public BitStream { public: OutputBitStream(std::basic_ostream* stream); bool isFinished() const override; std::vector peekNextNBytes(unsigned n) const override; std::optional readNextByte() override; void writeByte(unsigned char data, bool checkOverflow = true) override; void writeBytes(const std::vector data) override; private: std::basic_ostream* mStream{nullptr}; };