Files

31 lines
859 B
C++
Raw Permalink Normal View History

2026-01-16 22:45:06 -05:00
#ifndef AXIO_CMEMORYINSTREAM_H
#define AXIO_CMEMORYINSTREAM_H
#include "IInputStream.h"
class CMemoryInStream : public IInputStream
{
const char *mpDataStart = nullptr;
2026-01-11 11:00:26 -05:00
uint32_t mDataSize = 0;
uint32_t mPos = 0;
public:
CMemoryInStream();
2026-01-11 11:00:26 -05:00
explicit CMemoryInStream(const void *pkData, uint32_t Size, std::endian dataEndianness);
~CMemoryInStream() override;
2025-12-17 13:44:30 -05:00
2026-01-11 11:00:26 -05:00
void SetData(const void *pkData, uint32_t Size, std::endian dataEndianness);
2026-01-11 11:00:26 -05:00
void ReadBytes(void* pDst, uint32_t Count) override;
bool Seek(int32_t Offset, uint32_t Origin) override;
uint32_t Tell() const override;
bool EoF() const override;
bool IsValid() const override;
2026-01-11 11:00:26 -05:00
uint32_t Size() const override;
void SetSize(uint32_t Size);
const void* Data() const;
const void* DataAtPosition() const;
};
2026-01-16 22:45:06 -05:00
#endif // AXIO_CMEMORYINSTREAM_H