CachedDataStream.h 630 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "DataStream.h"
  3. NS_BF_BEGIN
  4. class CachedDataStream : public DataStream
  5. {
  6. public:
  7. const static int CHUNK_SIZE = 8192;
  8. DataStream* mStream;
  9. uint8 mChunk[CHUNK_SIZE];
  10. uint8* mDataPtr;
  11. uint8* mDataEnd;
  12. public:
  13. void Flush();
  14. public:
  15. CachedDataStream(DataStream* stream);
  16. ~CachedDataStream();
  17. virtual bool Eof() override;
  18. virtual int GetSize() override;
  19. virtual int Read(void* ptr, int size) override;
  20. virtual int Write(void* ptr, int size) override;
  21. virtual int GetPos() override;
  22. virtual void Seek(int size) override;
  23. virtual void SetPos(int pos) override;
  24. };
  25. NS_BF_END