friend wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongNative&);
#endif
+ friend wxString& operator<<(wxString&, const wxLongLongNative&);
+
private:
wxLongLong_t m_ll;
};
friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongNative&);
#endif
+ friend wxString& operator<<(wxString&, const wxULongLongNative&);
+
private:
unsigned wxLongLong_t m_ll;
};
friend wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongWx&);
#endif // wxUSE_STD_IOSTREAM
+ friend wxString& operator<<(wxString&, const wxLongLongWx&);
+
private:
// long is at least 32 bits, so represent our 64bit number as 2 longs
friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongWx&);
#endif // wxUSE_STD_IOSTREAM
+ friend wxString& operator<<(wxString&, const wxULongLongWx&);
+
private:
// long is at least 32 bits, so represent our 64bit number as 2 longs
#endif // wxUSE_STD_IOSTREAM
+wxString& operator<< (wxString& s, const wxLongLong& ll)
+{
+ return s << ll.ToString();
+}
+
+wxString& operator<< (wxString& s, const wxULongLong& ll)
+{
+ return s << ll.ToString();
+}
+
#endif // wxUSE_LONGLONG
for ( size_t n = 0; n < 33; n++ )
{
wxLongLong b(a.GetHi(), a.GetLo()), c, d = b, e;
- d >>= n;
- c = b >> n;
+ d >>= n;
+ c = b >> n;
CPPUNIT_ASSERT( c == d );
- d <<= n;
- e = c << n;
+ d <<= n;
+ e = c << n;
CPPUNIT_ASSERT( d == e );
#if wxUSE_LONGLONG_WX
wxLongLongWx b1(a.GetHi(), a.GetLo()), c1, d1 = b1, e1;
- d1 >>= n;
- c1 = b1 >> n;
+ d1 >>= n;
+ c1 = b1 >> n;
CPPUNIT_ASSERT( c1 == d1 );
- d1 <<= n;
- e1 = c1 << n;
+ d1 <<= n;
+ e1 = c1 << n;
CPPUNIT_ASSERT( d1 == e1 );
#endif
#if wxUSE_LONGLONG_NATIVE
wxLongLongNative b2(a.GetHi(), a.GetLo()), c2, d2 = b2, e2;
- d2 >>= n;
- c2 = b2 >> n;
+ d2 >>= n;
+ c2 = b2 >> n;
CPPUNIT_ASSERT( c2 == d2 );
- d2 <<= n;
- e2 = c2 << n;
+ d2 <<= n;
+ e2 = c2 << n;
CPPUNIT_ASSERT( d2 == e2 );
#endif
}
s2 = a.ToString();
CPPUNIT_ASSERT( s1 == s2 );
+ s2 = wxEmptyString;
+ s2 << a;
+ CPPUNIT_ASSERT( s1 == s2 );
+
#if wxUSE_LONGLONG_WX
wxLongLongWx a1 = testLongs[n];
s2 = a1.ToString();