X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/842215bbb7b87bd3800f95f3d633da0690e18b76..05c3f0fc73d9124061c08e3d707b4e3d6bab4ff4:/include/wx/longlong.h diff --git a/include/wx/longlong.h b/include/wx/longlong.h index 07e878184e..5670a66fab 100644 --- a/include/wx/longlong.h +++ b/include/wx/longlong.h @@ -301,9 +301,13 @@ public: #if wxUSE_STD_IOSTREAM // input/output - friend wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongNative&); + friend WXDLLIMPEXP_BASE + wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongNative&); #endif + friend WXDLLIMPEXP_BASE + wxString& operator<<(wxString&, const wxLongLongNative&); + private: wxLongLong_t m_ll; }; @@ -316,13 +320,13 @@ public: // default ctor initializes to 0 wxULongLongNative() : m_ll(0) { } // from long long - wxULongLongNative(unsigned wxLongLong_t ll) : m_ll(ll) { } + wxULongLongNative(wxULongLong_t ll) : m_ll(ll) { } // from 2 longs wxULongLongNative(unsigned long hi, unsigned long lo) : m_ll(0) { // assign first to avoid precision loss! - m_ll = ((unsigned wxLongLong_t) hi) << 32; - m_ll |= (unsigned wxLongLong_t) lo; + m_ll = ((wxULongLong_t) hi) << 32; + m_ll |= (wxULongLong_t) lo; } // default copy ctor is ok @@ -331,7 +335,7 @@ public: // assignment operators // from native 64 bit integer - wxULongLongNative& operator=(unsigned wxLongLong_t ll) + wxULongLongNative& operator=(wxULongLong_t ll) { m_ll = ll; return *this; } // assignment operators from wxULongLongNative is ok @@ -345,7 +349,7 @@ public: { return (unsigned long)m_ll; } // convert to native ulong long - unsigned wxLongLong_t GetValue() const { return m_ll; } + wxULongLong_t GetValue() const { return m_ll; } // convert to ulong with range checking in the debug mode (only!) unsigned long ToULong() const @@ -363,9 +367,9 @@ public: wxULongLongNative& operator+=(const wxULongLongNative& ll) { m_ll += ll.m_ll; return *this; } - wxULongLongNative operator+(const unsigned wxLongLong_t ll) const + wxULongLongNative operator+(const wxULongLong_t ll) const { return wxULongLongNative(m_ll + ll); } - wxULongLongNative& operator+=(const unsigned wxLongLong_t ll) + wxULongLongNative& operator+=(const wxULongLong_t ll) { m_ll += ll; return *this; } // pre increment @@ -382,9 +386,9 @@ public: wxULongLongNative& operator-=(const wxULongLongNative& ll) { m_ll -= ll.m_ll; return *this; } - wxULongLongNative operator-(const unsigned wxLongLong_t ll) const + wxULongLongNative operator-(const wxULongLong_t ll) const { return wxULongLongNative(m_ll - ll); } - wxULongLongNative& operator-=(const unsigned wxLongLong_t ll) + wxULongLongNative& operator-=(const wxULongLong_t ll) { m_ll -= ll; return *this; } // pre decrement @@ -484,11 +488,15 @@ public: #if wxUSE_STD_IOSTREAM // input/output - friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongNative&); + friend WXDLLIMPEXP_BASE + wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongNative&); #endif + friend WXDLLIMPEXP_BASE + wxString& operator<<(wxString&, const wxULongLongNative&); + private: - unsigned wxLongLong_t m_ll; + wxULongLong_t m_ll; }; #endif // wxUSE_LONGLONG_NATIVE @@ -676,9 +684,13 @@ public: void *asArray() const; #if wxUSE_STD_IOSTREAM - friend wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongWx&); + friend WXDLLIMPEXP_BASE + wxSTD ostream& operator<<(wxSTD ostream&, const wxLongLongWx&); #endif // wxUSE_STD_IOSTREAM + friend WXDLLIMPEXP_BASE + wxString& operator<<(wxString&, const wxLongLongWx&); + private: // long is at least 32 bits, so represent our 64bit number as 2 longs @@ -858,9 +870,13 @@ public: void *asArray() const; #if wxUSE_STD_IOSTREAM - friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongWx&); + friend WXDLLIMPEXP_BASE + wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongWx&); #endif // wxUSE_STD_IOSTREAM + friend WXDLLIMPEXP_BASE + wxString& operator<<(wxString&, const wxULongLongWx&); + private: // long is at least 32 bits, so represent our 64bit number as 2 longs @@ -873,7 +889,7 @@ private: wxASSERT( (m_ll >> 32) == m_hi && (unsigned long)m_ll == m_lo ); } - unsigned wxLongLong_t m_ll; + wxULongLong_t m_ll; #endif // wxLONGLONG_TEST_MODE };