#ifndef __READER_H__ #define __READER_H__ #include #include #include "../types/types.h" class reader { private: public: reader(/* args */) {}; virtual ~reader() {}; virtual std::streamsize read(char *, uint16_t) = 0; virtual int8_t readInt8() = 0; virtual int16_t readInt16() = 0; virtual int32_t readInt32() = 0; virtual int64_t readInt64() = 0; virtual uint8_t readUint8() = 0; virtual uint16_t readUint16() = 0; virtual uint32_t readUint32() = 0; virtual uint64_t readUint64() = 0; virtual std::string readString(int) = 0; virtual bool seek(int64_t) = 0; virtual std::streampos curr() = 0; virtual std::string getPath() = 0; virtual std::streampos getLength() = 0; virtual uint24_t readUint24() = 0; virtual Tag readTag() = 0; virtual FWORD readFWord() = 0; virtual UFWORD readUFWord() = 0; virtual Offset8 readOffset8() = 0; virtual Offset16 readOffset16() = 0; virtual Offset24 readOffset24() = 0; virtual Offset32 readOffset32() = 0; virtual int24_t readInt24() = 0; virtual Fixed readFixed() = 0; virtual F2DOT14 readF2Dot14() = 0; virtual Version16Dot16 readVersion16Dot16() = 0; }; #endif