Clean project structure.

This commit is contained in:
jmsgrogan 2023-01-17 10:13:25 +00:00
parent 78a4fa99ff
commit 947bf937fd
496 changed files with 206 additions and 137 deletions

View file

@ -0,0 +1,40 @@
#pragma once
#include "BitStream.h"
#include <vector>
#include <iterator>
class BufferBitStream : public BitStream
{
public:
bool isFinished() const override;
std::vector<unsigned char> peekNextNBytes(unsigned n) const override;
std::optional<unsigned char> readNextByte() override;
void setBuffer(const std::vector<unsigned char>& data);
void writeByte(unsigned char data, bool checkOverflow = true) override;
void writeBytes(const std::vector<unsigned char> data) override
{
std::copy(data.begin(), data.end(), std::back_inserter(mBuffer));
}
const std::vector<unsigned char>& getBuffer() const
{
return mBuffer;
}
void reset() override
{
BitStream::reset();
mBuffer.clear();
}
private:
unsigned mBufferSize{0};
std::vector<unsigned char> mBuffer;
};