MyGUI  3.2.1
MyGUI_DataMemoryStream.h
Go to the documentation of this file.
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_MEMORY_STREAM_H__
8 #define __MYGUI_DATA_MEMORY_STREAM_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_IDataStream.h"
12 
13 namespace MyGUI
14 {
15 
17  public IDataStream
18  {
19  public:
21  DataMemoryStream(unsigned char* _data, size_t _size);
22  virtual ~DataMemoryStream();
23 
24  virtual bool eof();
25  virtual size_t size();
26  virtual void readline(std::string& _source, Char _delim);
27  virtual size_t read(void* _buf, size_t _count);
28 
29  private:
30  void prepareStream();
31 
32  protected:
33  unsigned char* mData;
34  size_t mSize;
35  std::stringstream* mStream;
36  };
37 
38 } // namespace MyGUI
39 
40 #endif // __MYGUI_DATA_MEMORY_STREAM_H__