m_hi = m_lo = 0;
#ifdef wxLONGLONG_TEST_MODE
- unsigned wxLongLong_t llOld = m_ll;
+ wxULongLong_t llOld = m_ll;
m_ll = 0;
#endif // wxLONGLONG_TEST_MODE
\
name ll = *this; \
\
- bool neg; \
- if ( ll < 0 ) \
+ bool neg = ll < 0; \
+ if ( neg ) \
{ \
- ll.Negate(); \
- neg = true; \
+ while ( ll != 0 ) \
+ { \
+ long digit = (ll % 10).ToLong(); \
+ result.Prepend((wxChar)(_T('0') - digit)); \
+ ll /= 10; \
+ } \
} \
else \
{ \
- neg = false; \
- } \
- \
- while ( ll != 0 ) \
- { \
- result.Prepend((wxChar)(_T('0') + (ll % 10).ToLong())); \
- ll /= 10; \
+ while ( ll != 0 ) \
+ { \
+ long digit = (ll % 10).ToLong(); \
+ result.Prepend((wxChar)(_T('0') + digit)); \
+ ll /= 10; \
+ } \
} \
\
if ( result.empty() ) \
#if wxUSE_STD_IOSTREAM
// input/output
+WXDLLIMPEXP_BASE
wxSTD ostream& operator<< (wxSTD ostream& o, const wxLongLong& ll)
{
return o << ll.ToString();
}
+WXDLLIMPEXP_BASE
wxSTD ostream& operator<< (wxSTD ostream& o, const wxULongLong& ll)
{
return o << ll.ToString();
#endif // wxUSE_STD_IOSTREAM
-wxString& operator<< (wxString& s, const wxLongLong& ll)
+WXDLLIMPEXP_BASE wxString& operator<< (wxString& s, const wxLongLong& ll)
{
return s << ll.ToString();
}
-wxString& operator<< (wxString& s, const wxULongLong& ll)
+WXDLLIMPEXP_BASE wxString& operator<< (wxString& s, const wxULongLong& ll)
{
return s << ll.ToString();
}