123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef STREAM_H
- #define STREAM_H
- #include <cstddef>
- using namespace std;
- class Stream
- {
- public:
- Stream(size_t minSize = 1);
- virtual ~Stream();
- void readSocket(int socket);
- void sendToSocket(int socket);
-
- bool hasData() const;
-
- void write(const void* writeData, size_t length);
- void writeChar(char c);
- void writeShort(short s);
- void writeInt(int i);
- void writeLong(long l);
- void writeUnsignedChar(unsigned char uc);
- void writeUnsignedShort(unsigned short us);
- void writeUnsignedInt(unsigned int ui);
- void writeUnsignedLong(unsigned long ul);
-
- void read(void* buffer, size_t length);
- char readChar();
- short readShort();
- int readInt();
- long readLong();
- unsigned char readUnsignedChar();
- unsigned short readUnsignedShort();
- unsigned int readUnsignedInt();
- unsigned long readUnsignedLong();
-
- private:
- void resize(size_t minSize);
- size_t getSize(size_t minSize);
-
- size_t dataLength = 0;
- unsigned char* data = nullptr;
-
- size_t writeIndex = 0;
- size_t readIndex = 0;
- };
- #endif
|