1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef MYGUI_DATA_STREAM_H_
8 #define MYGUI_DATA_STREAM_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_IDataStream.h"
12 
13 namespace MyGUI
14 {
15 
16 	class MYGUI_EXPORT DataStream :
17 		public IDataStream
18 	{
19 	public:
20 		DataStream();
21 		DataStream(std::istream* _stream);
22 
23 		bool eof() override;
24 		size_t size() override;
25 		void readline(std::string& _source, Char _delim) override;
26 		size_t read(void* _buf, size_t _count) override;
27 
28 	protected:
29 		std::istream* mStream;
30 		size_t mSize;
31 	};
32 
33 } // namespace MyGUI
34 
35 #endif // MYGUI_DATA_STREAM_H_
36