#pragma once #include "Reader.h" class BufferedReader : public Reader { private: Reader* reader; wchar_t* buffer; unsigned int readMark; unsigned int bufferedMark; unsigned int bufferSize; bool eofReached; static const unsigned int BUFFER_MORE_AMOUNT = 64; void bufferMore(); public: BufferedReader(Reader* in); virtual ~BufferedReader(); virtual void close(); virtual int read(); virtual int read(wchar_t cbuf[], unsigned int off, unsigned int len); std::wstring readLine(); };