wxLongLong to wxString operators.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2004-12-27 18:57:21 +00:00
parent 9d8aca4832
commit 51496782d1
3 changed files with 34 additions and 12 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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();