generated from bing/readnotes
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#ifndef __READER_FILE_H__
|
|
#define __READER_FILE_H__
|
|
#include "reader.h"
|
|
#include <fstream>
|
|
|
|
class file : public reader
|
|
{
|
|
private:
|
|
std::ifstream fp;
|
|
char *path;
|
|
std::streampos length;
|
|
|
|
public:
|
|
file() : path(nullptr), length(0), fp() {};
|
|
~file();
|
|
file(const char *filePath);
|
|
std::streamsize read(char *, uint16_t) override;
|
|
int8_t readInt8() override;
|
|
int16_t readInt16() override;
|
|
int32_t readInt32() override;
|
|
int64_t readInt64() override;
|
|
uint8_t readUint8() override;
|
|
uint16_t readUint16() override;
|
|
uint32_t readUint32() override;
|
|
uint64_t readUint64() override;
|
|
std::string readString(int) override;
|
|
bool seek(int64_t) override;
|
|
std::streampos curr() override;
|
|
std::string getPath() override;
|
|
std::streampos getLength() override { return length; };
|
|
uint24_t readUint24() override;
|
|
FWORD readFWord() override;
|
|
UFWORD readUFWord() override;
|
|
Offset8 readOffset8() override;
|
|
Offset16 readOffset16() override;
|
|
Offset24 readOffset24() override;
|
|
Offset32 readOffset32() override;
|
|
int24_t readInt24() override;
|
|
Fixed readFixed() override;
|
|
F2DOT14 readF2Dot14() override;
|
|
Version16Dot16 readVersion16Dot16() override;
|
|
Tag readTag() override;
|
|
};
|
|
|
|
#endif |