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