MyGUI  3.2.0
MyGUI_LogStream.h
Go to the documentation of this file.
1 
6 /*
7  This file is part of MyGUI.
8 
9  MyGUI is free software: you can redistribute it and/or modify
10  it under the terms of the GNU Lesser General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  MyGUI is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public License
20  along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
21 */
22 #ifndef __MYGUI_LOG_STREAM_H__
23 #define __MYGUI_LOG_STREAM_H__
24 
25 #include "MyGUI_Prerequest.h"
26 #include <string.h>
27 #include <sstream>
28 
29 namespace MyGUI
30 {
31 
33  {
34  public:
35  struct End { };
36 
37  public:
38  std::string operator << (const End& _endl)
39  {
40  return mStream.str();
41  }
42 
43  template <typename T>
44  LogStream& operator << (T _value)
45  {
46  mStream << _value;
47  return *this;
48  }
49 
50  private:
51  std::ostringstream mStream;
52  };
53 
54 } // namespace MyGUI
55 
56 #endif // __MYGUI_LOG_STREAM_H__