+#if wxUSE_UNICODE
+ return o << (const char *)wxSafeConvertWX2MB(s.wc_str());
+#else
+ return o << s.c_str();
+#endif
+}
+
+// VC6 doesn't provide overloads for operator<<(__int64) in its stream classes
+// so do it ourselves
+#if defined(__VISUALC6__) && defined(wxLongLong_t)
+
+#include "wx/longlong.h"
+
+inline std::ostream& operator<<(std::ostream& ostr, wxLongLong_t ll)
+{
+ ostr << wxLongLong(ll).ToString();
+
+ return ostr;