Clean project structure.
This commit is contained in:
parent
78a4fa99ff
commit
947bf937fd
496 changed files with 206 additions and 137 deletions
40
src/base/core/streams/BufferBitStream.h
Normal file
40
src/base/core/streams/BufferBitStream.h
Normal 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;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue