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_LOG_STREAM_H_ 8 #define MYGUI_LOG_STREAM_H_ 9 10 #include "MyGUI_Prerequest.h" 11 #include <cstring> 12 #include <sstream> 13 14 namespace MyGUI 15 { 16 17 class MYGUI_EXPORT LogStream 18 { 19 public: 20 struct End { }; 21 22 public: 23 std::string operator << (const End& _endl) 24 { 25 return mStream.str(); 26 } 27 28 template <typename T> 29 LogStream& operator << (T _value) 30 { 31 mStream << _value; 32 return *this; 33 } 34 35 private: 36 std::ostringstream mStream; 37 }; 38 39 } // namespace MyGUI 40 41 #endif // MYGUI_LOG_STREAM_H_ 42