summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/LoggerUtil.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/LoggerUtil.h')
-rw-r--r--cpp/include/Ice/LoggerUtil.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/cpp/include/Ice/LoggerUtil.h b/cpp/include/Ice/LoggerUtil.h
index 2b1c2c42ec1..9cbecdabe8c 100644
--- a/cpp/include/Ice/LoggerUtil.h
+++ b/cpp/include/Ice/LoggerUtil.h
@@ -15,6 +15,33 @@
namespace Ice
{
+class ICE_API Print : public IceUtil::noncopyable
+{
+public:
+
+ Print(const LoggerPtr&);
+ ~Print();
+
+ void flush();
+
+ std::ostringstream& __str(); // For internal use only. Don't use in your code.
+
+private:
+
+ LoggerPtr _logger;
+ std::ostringstream _str;
+};
+
+template<typename T>
+inline Print&
+operator<<(Print& out, const T& val)
+{
+ out.__str() << val;
+ return out;
+}
+
+ICE_API Print& operator<<(Print&, std::ios_base& (*)(std::ios_base&));
+
class ICE_API Warning : public IceUtil::noncopyable
{
public: