00001
00014 #ifndef __STREAMUTILS_HPP__
00015 #define __STREAMUTILS_HPP__
00016
00017 #include <iostream>
00018 #include <EmaiMessage.hpp>
00019 #include <EmaiTypes.h>
00020
00021 template<class _Traits>
00022 std::basic_ostream<char, _Traits> &
00023 operator << (
00024 std::basic_ostream<char, _Traits>& stream,
00025 EmaiConstUniCharPtr inString
00026 )
00027 {
00028 while ((*inString) != 0)
00029 {
00030 if ((*inString) < 127)
00031 stream << (char)*inString;
00032 else
00033 {
00034 char temp[8];
00035 sprintf(temp, "\\u%.4X", (int)*inString);
00036 stream << temp;
00037 }
00038 ++inString;
00039 }
00040 return stream;
00041 }
00042
00043 template<class _Traits>
00044 std::basic_ostream<char, _Traits> &
00045 operator << (
00046 std::basic_ostream<char, _Traits>& stream,
00047 Emai::UniString inString
00048 )
00049 {
00050 stream << inString.c_str();
00051 return stream;
00052 }
00053
00054 #endif