From: Włodzimierz Skiba Date: Mon, 27 Dec 2004 18:57:21 +0000 (+0000) Subject: wxLongLong to wxString operators. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/51496782d13dd083fd20f9db31418b9231f2e5c3 wxLongLong to wxString operators. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/longlong.h b/include/wx/longlong.h index 07e878184e..1a006e757c 100644 --- a/include/wx/longlong.h +++ b/include/wx/longlong.h @@ -304,6 +304,8 @@ public: friend wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongNative&); #endif + friend wxString& operator<<(wxString&, const wxLongLongNative&); + private: wxLongLong_t m_ll; }; @@ -487,6 +489,8 @@ public: friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongNative&); #endif + friend wxString& operator<<(wxString&, const wxULongLongNative&); + private: unsigned wxLongLong_t m_ll; }; @@ -679,6 +683,8 @@ public: 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 @@ -861,6 +867,8 @@ public: 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 diff --git a/src/common/longlong.cpp b/src/common/longlong.cpp index 6babb4eef7..63db358fff 100644 --- a/src/common/longlong.cpp +++ b/src/common/longlong.cpp @@ -1162,4 +1162,14 @@ wxSTD ostream& operator<< (wxSTD ostream& o, const wxULongLong& ll) #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 diff --git a/tests/longlong/longlongtest.cpp b/tests/longlong/longlongtest.cpp index f93030996a..5b7920bf87 100644 --- a/tests/longlong/longlongtest.cpp +++ b/tests/longlong/longlongtest.cpp @@ -240,30 +240,30 @@ void LongLongTestCase::BitOperations() 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 } @@ -281,6 +281,10 @@ void LongLongTestCase::ToString() 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();