blog/cpp/fonts/reader/reader.h

41 lines
1.2 KiB
C
Raw Normal View History

2024-09-13 15:10:58 +08:00
#ifndef __READER_H__
#define __READER_H__
#include <fstream>
#include <string>
#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