#ifndef _STREAM_HPP_ #define _STREAM_HPP_ #include class InputStream { public: virtual void readBytes(char *buffer, size_t byteCount) = 0; bool readBool(); int readInt(); long long readLongLong(); float readFloat(); double readDouble(); std::string readString(); }; class OutputStream { public: virtual void writeBytes(const char *buffer, size_t byteCount) = 0; virtual void flush() = 0; void write(bool value); void write(int value); void write(long long value); void write(float value); void write(double value); void write(const std::string &value); }; #endif