BinaryReader.h 680 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. // Helper for reading strongly typed binary data from an input file.
  3. class BinaryReader
  4. {
  5. public:
  6. BinaryReader(FILE* file);
  7. virtual ~BinaryReader() { }
  8. uint8_t ReadByte();
  9. uint16_t ReadUInt16();
  10. uint32_t ReadUInt32();
  11. uint64_t ReadUInt64();
  12. int8_t ReadSByte();
  13. int16_t ReadInt16();
  14. int32_t ReadInt32();
  15. int64_t ReadInt64();
  16. float ReadSingle();
  17. double ReadDouble();
  18. bool ReadBoolean();
  19. wchar_t ReadChar();
  20. wstring ReadString();
  21. uint32_t Read7BitEncodedInt();
  22. vector<uint8_t> ReadBytes(uint32_t count);
  23. uint32_t FilePosition();
  24. uint32_t FileSize();
  25. private:
  26. FILE* file;
  27. };