BinaryReader.h 643 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <stdlib.h>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <vector>
  6. #include <cstring>
  7. #include <memory>
  8. #include "ByteStream.h"
  9. namespace bell
  10. {
  11. class BinaryReader
  12. {
  13. std::shared_ptr<ByteStream> stream;
  14. size_t currentPos = 0;
  15. public:
  16. BinaryReader(std::shared_ptr<ByteStream> stream);
  17. int32_t readInt();
  18. int16_t readShort();
  19. uint32_t readUInt();
  20. long long readLong();
  21. void close();
  22. uint8_t readByte();
  23. size_t size();
  24. size_t position();
  25. std::vector<uint8_t> readBytes(size_t);
  26. void skip(size_t);
  27. };
  28. }