ByteStream: Devirtualize where unnecessary
This commit is contained in:
@ -144,51 +144,51 @@ protected:
|
||||
ByteStream& operator=(const ByteStream&) = delete;
|
||||
};
|
||||
|
||||
class NullByteStream : public ByteStream
|
||||
class NullByteStream final : public ByteStream
|
||||
{
|
||||
public:
|
||||
NullByteStream();
|
||||
~NullByteStream();
|
||||
~NullByteStream() override;
|
||||
|
||||
virtual bool ReadByte(u8* pDestByte) override final;
|
||||
virtual u32 Read(void* pDestination, u32 ByteCount) override final;
|
||||
virtual bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override final;
|
||||
virtual bool WriteByte(u8 SourceByte) override final;
|
||||
virtual u32 Write(const void* pSource, u32 ByteCount) override final;
|
||||
virtual bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override final;
|
||||
virtual bool SeekAbsolute(u64 Offset) override final;
|
||||
virtual bool SeekRelative(s64 Offset) override final;
|
||||
virtual bool SeekToEnd() override final;
|
||||
virtual u64 GetSize() const override final;
|
||||
virtual u64 GetPosition() const override final;
|
||||
virtual bool Flush() override final;
|
||||
virtual bool Commit() override final;
|
||||
virtual bool Discard() override final;
|
||||
bool ReadByte(u8* pDestByte) override;
|
||||
u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
bool WriteByte(u8 SourceByte) override;
|
||||
u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
bool SeekAbsolute(u64 Offset) override;
|
||||
bool SeekRelative(s64 Offset) override;
|
||||
bool SeekToEnd() override;
|
||||
u64 GetSize() const override;
|
||||
u64 GetPosition() const override;
|
||||
bool Flush() override;
|
||||
bool Commit() override;
|
||||
bool Discard() override;
|
||||
};
|
||||
|
||||
class MemoryByteStream : public ByteStream
|
||||
class MemoryByteStream final : public ByteStream
|
||||
{
|
||||
public:
|
||||
MemoryByteStream(void* pMemory, u32 MemSize);
|
||||
virtual ~MemoryByteStream();
|
||||
~MemoryByteStream() override;
|
||||
|
||||
u8* GetMemoryPointer() const { return m_pMemory; }
|
||||
u32 GetMemorySize() const { return m_iSize; }
|
||||
|
||||
virtual bool ReadByte(u8* pDestByte) override;
|
||||
virtual u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
virtual bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
virtual bool WriteByte(u8 SourceByte) override;
|
||||
virtual u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
virtual bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
virtual bool SeekAbsolute(u64 Offset) override;
|
||||
virtual bool SeekRelative(s64 Offset) override;
|
||||
virtual bool SeekToEnd() override;
|
||||
virtual u64 GetSize() const override;
|
||||
virtual u64 GetPosition() const override;
|
||||
virtual bool Flush() override;
|
||||
virtual bool Commit() override;
|
||||
virtual bool Discard() override;
|
||||
bool ReadByte(u8* pDestByte) override;
|
||||
u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
bool WriteByte(u8 SourceByte) override;
|
||||
u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
bool SeekAbsolute(u64 Offset) override;
|
||||
bool SeekRelative(s64 Offset) override;
|
||||
bool SeekToEnd() override;
|
||||
u64 GetSize() const override;
|
||||
u64 GetPosition() const override;
|
||||
bool Flush() override;
|
||||
bool Commit() override;
|
||||
bool Discard() override;
|
||||
|
||||
private:
|
||||
u8* m_pMemory;
|
||||
@ -196,29 +196,29 @@ private:
|
||||
u32 m_iSize;
|
||||
};
|
||||
|
||||
class ReadOnlyMemoryByteStream : public ByteStream
|
||||
class ReadOnlyMemoryByteStream final : public ByteStream
|
||||
{
|
||||
public:
|
||||
ReadOnlyMemoryByteStream(const void* pMemory, u32 MemSize);
|
||||
virtual ~ReadOnlyMemoryByteStream();
|
||||
~ReadOnlyMemoryByteStream() override;
|
||||
|
||||
const u8* GetMemoryPointer() const { return m_pMemory; }
|
||||
u32 GetMemorySize() const { return m_iSize; }
|
||||
|
||||
virtual bool ReadByte(u8* pDestByte) override;
|
||||
virtual u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
virtual bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
virtual bool WriteByte(u8 SourceByte) override;
|
||||
virtual u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
virtual bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
virtual bool SeekAbsolute(u64 Offset) override;
|
||||
virtual bool SeekRelative(s64 Offset) override;
|
||||
virtual bool SeekToEnd() override;
|
||||
virtual u64 GetSize() const override;
|
||||
virtual u64 GetPosition() const override;
|
||||
virtual bool Flush() override;
|
||||
virtual bool Commit() override;
|
||||
virtual bool Discard() override;
|
||||
bool ReadByte(u8* pDestByte) override;
|
||||
u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
bool WriteByte(u8 SourceByte) override;
|
||||
u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
bool SeekAbsolute(u64 Offset) override;
|
||||
bool SeekRelative(s64 Offset) override;
|
||||
bool SeekToEnd() override;
|
||||
u64 GetSize() const override;
|
||||
u64 GetPosition() const override;
|
||||
bool Flush() override;
|
||||
bool Commit() override;
|
||||
bool Discard() override;
|
||||
|
||||
private:
|
||||
const u8* m_pMemory;
|
||||
@ -226,11 +226,11 @@ private:
|
||||
u32 m_iSize;
|
||||
};
|
||||
|
||||
class GrowableMemoryByteStream : public ByteStream
|
||||
class GrowableMemoryByteStream final : public ByteStream
|
||||
{
|
||||
public:
|
||||
GrowableMemoryByteStream(void* pInitialMem, u32 InitialMemSize);
|
||||
virtual ~GrowableMemoryByteStream();
|
||||
~GrowableMemoryByteStream() override;
|
||||
|
||||
u8* GetMemoryPointer() const { return m_pMemory; }
|
||||
u32 GetMemorySize() const { return m_iMemorySize; }
|
||||
@ -240,20 +240,20 @@ public:
|
||||
void EnsureSpace(u32 space);
|
||||
void ShrinkToFit();
|
||||
|
||||
virtual bool ReadByte(u8* pDestByte) override;
|
||||
virtual u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
virtual bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
virtual bool WriteByte(u8 SourceByte) override;
|
||||
virtual u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
virtual bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
virtual bool SeekAbsolute(u64 Offset) override;
|
||||
virtual bool SeekRelative(s64 Offset) override;
|
||||
virtual bool SeekToEnd() override;
|
||||
virtual u64 GetSize() const override;
|
||||
virtual u64 GetPosition() const override;
|
||||
virtual bool Flush() override;
|
||||
virtual bool Commit() override;
|
||||
virtual bool Discard() override;
|
||||
bool ReadByte(u8* pDestByte) override;
|
||||
u32 Read(void* pDestination, u32 ByteCount) override;
|
||||
bool Read2(void* pDestination, u32 ByteCount, u32* pNumberOfBytesRead /* = nullptr */) override;
|
||||
bool WriteByte(u8 SourceByte) override;
|
||||
u32 Write(const void* pSource, u32 ByteCount) override;
|
||||
bool Write2(const void* pSource, u32 ByteCount, u32* pNumberOfBytesWritten /* = nullptr */) override;
|
||||
bool SeekAbsolute(u64 Offset) override;
|
||||
bool SeekRelative(s64 Offset) override;
|
||||
bool SeekToEnd() override;
|
||||
u64 GetSize() const override;
|
||||
u64 GetPosition() const override;
|
||||
bool Flush() override;
|
||||
bool Commit() override;
|
||||
bool Discard() override;
|
||||
|
||||
private:
|
||||
void Grow(u32 MinimumGrowth);
|
||||
|
||||
Reference in New Issue
Block a user