diff options
Diffstat (limited to 'cpp/include/Ice/LoggerUtil.h')
-rw-r--r-- | cpp/include/Ice/LoggerUtil.h | 27 |
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: |