mirror of
https://github.com/libAthena/athena.git
synced 2025-12-09 05:27:50 +00:00
* Refactor Stream and *Reader classes
This commit is contained in:
44
include/Athena/IStreamReader.hpp
Normal file
44
include/Athena/IStreamReader.hpp
Normal file
@@ -0,0 +1,44 @@
|
||||
#ifndef ISTREAMREADER_HPP
|
||||
#define ISTREAMREADER_HPP
|
||||
|
||||
#include "IStream.hpp"
|
||||
|
||||
namespace Athena
|
||||
{
|
||||
namespace io
|
||||
{
|
||||
class IStreamReader : public IStream
|
||||
{
|
||||
public:
|
||||
virtual ~IStreamReader();
|
||||
virtual void setEndian(Endian) = 0;
|
||||
virtual Endian endian() const= 0;
|
||||
virtual bool isBigEndian() const= 0;
|
||||
virtual bool isLittleEndian()const= 0;
|
||||
virtual bool isOpen() const= 0;
|
||||
virtual void seek(atInt64, SeekOrigin)=0;
|
||||
virtual bool atEnd() const= 0;
|
||||
virtual atUint64 position() const= 0;
|
||||
virtual atUint64 length() const= 0;
|
||||
virtual void seekBit (int)=0;
|
||||
virtual bool readBit()=0;
|
||||
virtual atUint8 readUByte()=0;
|
||||
virtual atInt8 readByte()=0;
|
||||
virtual atUint8* readUBytes(atUint64)=0;
|
||||
virtual atInt8* readBytes(atUint64)=0;
|
||||
virtual atUint16 readUint16()=0;
|
||||
virtual atInt16 readInt16()=0;
|
||||
virtual atUint32 readUint32()=0;
|
||||
virtual atInt32 readInt32()=0;
|
||||
virtual atUint64 readUint64()=0;
|
||||
virtual atInt64 readInt64()=0;
|
||||
virtual double readDouble()=0;
|
||||
virtual float readFloat()=0;
|
||||
virtual bool readBool()=0;
|
||||
virtual std::string readUnicode(atInt32)=0;
|
||||
virtual std::string readString(atInt32)=0;
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif // ISTREAMREADER
|
||||
|
||||
Reference in New Issue
Block a user