aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/BufferedReader.h
blob: b2f7fc676e9072908a06b997cdde6a57efad1fa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#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);
	wstring readLine();
};