Add wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG symbol.
Instead of writing a rather unreadable "defined(wxLongLong_t) && !defined(wxLongLongIsLong)" expression every time we need to decide if a function needs to be overloaded for both long and long long, add a new symbol which can be tested directly. No real changes in the code. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -209,6 +209,13 @@ Currently the following symbols exist:
|
|||||||
@itemdef{wxHAS_LARGE_FFILES, Defined if wxFFile supports files more than 4GB in
|
@itemdef{wxHAS_LARGE_FFILES, Defined if wxFFile supports files more than 4GB in
|
||||||
size (notice that you must include @c wx/filefn.h before testing for this
|
size (notice that you must include @c wx/filefn.h before testing for this
|
||||||
symbol).}
|
symbol).}
|
||||||
|
@itemdef{wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG, Defined if compiler supports a
|
||||||
|
64 bit integer type (available as @c wxLongLong_t) and this type is
|
||||||
|
different from long. Notice that, provided wxUSE_LONGLONG is not turned
|
||||||
|
off, some 64 bit type is always available to wxWidgets programs and this
|
||||||
|
symbol only indicates a presence of such primitive type. It is useful to
|
||||||
|
decide whether some function should be overloaded for both
|
||||||
|
<code>long</code> and <code>long long</code> types.}
|
||||||
@itemdef{wxHAS_MULTIPLE_FILEDLG_FILTERS, Defined if wxFileDialog supports multiple ('|'-separated) filters.}
|
@itemdef{wxHAS_MULTIPLE_FILEDLG_FILTERS, Defined if wxFileDialog supports multiple ('|'-separated) filters.}
|
||||||
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
|
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
|
||||||
@itemdef{wxHAS_RADIO_MENU_ITEMS,
|
@itemdef{wxHAS_RADIO_MENU_ITEMS,
|
||||||
|
@@ -200,10 +200,10 @@ WX_CPPUNIT_ALLOW_EQUALS_TO_INT(short)
|
|||||||
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned)
|
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned)
|
||||||
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned long)
|
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned long)
|
||||||
|
|
||||||
#if defined(wxLongLong_t) && !defined(wxLongLongIsLong)
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(wxLongLong_t)
|
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(wxLongLong_t)
|
||||||
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned wxLongLong_t)
|
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned wxLongLong_t)
|
||||||
#endif
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
|
||||||
// Use this macro to compare a wxArrayString with the pipe-separated elements
|
// Use this macro to compare a wxArrayString with the pipe-separated elements
|
||||||
// of the given string
|
// of the given string
|
||||||
|
@@ -1075,6 +1075,9 @@ typedef wxUint32 wxDword;
|
|||||||
|
|
||||||
#define wxHAS_INT64 1
|
#define wxHAS_INT64 1
|
||||||
|
|
||||||
|
#ifndef wxLongLongIsLong
|
||||||
|
#define wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
#endif
|
||||||
#elif wxUSE_LONGLONG
|
#elif wxUSE_LONGLONG
|
||||||
/* these macros allow to define 64 bit constants in a portable way */
|
/* these macros allow to define 64 bit constants in a portable way */
|
||||||
#define wxLL(x) wxLongLong(x)
|
#define wxLL(x) wxLongLong(x)
|
||||||
|
@@ -490,7 +490,7 @@ class WXDLLIMPEXP_BASE wxIntegerHash
|
|||||||
WX_HASH_MAP_NAMESPACE::hash<short> shortHash;
|
WX_HASH_MAP_NAMESPACE::hash<short> shortHash;
|
||||||
WX_HASH_MAP_NAMESPACE::hash<unsigned short> ushortHash;
|
WX_HASH_MAP_NAMESPACE::hash<unsigned short> ushortHash;
|
||||||
|
|
||||||
#if defined wxLongLong_t && !defined wxLongLongIsLong
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
// hash<wxLongLong_t> ought to work but doesn't on some compilers
|
// hash<wxLongLong_t> ought to work but doesn't on some compilers
|
||||||
#if (!defined SIZEOF_LONG_LONG && SIZEOF_LONG == 4) \
|
#if (!defined SIZEOF_LONG_LONG && SIZEOF_LONG == 4) \
|
||||||
|| (defined SIZEOF_LONG_LONG && SIZEOF_LONG_LONG == SIZEOF_LONG * 2)
|
|| (defined SIZEOF_LONG_LONG && SIZEOF_LONG_LONG == SIZEOF_LONG * 2)
|
||||||
@@ -504,7 +504,7 @@ class WXDLLIMPEXP_BASE wxIntegerHash
|
|||||||
#else
|
#else
|
||||||
WX_HASH_MAP_NAMESPACE::hash<wxLongLong_t> longlongHash;
|
WX_HASH_MAP_NAMESPACE::hash<wxLongLong_t> longlongHash;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
|
||||||
public:
|
public:
|
||||||
wxIntegerHash() { }
|
wxIntegerHash() { }
|
||||||
@@ -514,10 +514,10 @@ public:
|
|||||||
size_t operator()( unsigned int x ) const { return uintHash( x ); }
|
size_t operator()( unsigned int x ) const { return uintHash( x ); }
|
||||||
size_t operator()( short x ) const { return shortHash( x ); }
|
size_t operator()( short x ) const { return shortHash( x ); }
|
||||||
size_t operator()( unsigned short x ) const { return ushortHash( x ); }
|
size_t operator()( unsigned short x ) const { return ushortHash( x ); }
|
||||||
#if defined wxLongLong_t && !defined wxLongLongIsLong
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
size_t operator()( wxLongLong_t x ) const { return longlongHash(x); }
|
size_t operator()( wxLongLong_t x ) const { return longlongHash(x); }
|
||||||
size_t operator()( wxULongLong_t x ) const { return longlongHash(x); }
|
size_t operator()( wxULongLong_t x ) const { return longlongHash(x); }
|
||||||
#endif
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
|
||||||
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
||||||
};
|
};
|
||||||
@@ -535,10 +535,10 @@ public:
|
|||||||
unsigned long operator()( unsigned int x ) const { return x; }
|
unsigned long operator()( unsigned int x ) const { return x; }
|
||||||
unsigned long operator()( short x ) const { return (unsigned long)x; }
|
unsigned long operator()( short x ) const { return (unsigned long)x; }
|
||||||
unsigned long operator()( unsigned short x ) const { return x; }
|
unsigned long operator()( unsigned short x ) const { return x; }
|
||||||
#if defined wxLongLong_t && !defined wxLongLongIsLong
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
wxULongLong_t operator()( wxLongLong_t x ) const { return static_cast<wxULongLong_t>(x); }
|
wxULongLong_t operator()( wxLongLong_t x ) const { return static_cast<wxULongLong_t>(x); }
|
||||||
wxULongLong_t operator()( wxULongLong_t x ) const { return x; }
|
wxULongLong_t operator()( wxULongLong_t x ) const { return x; }
|
||||||
#endif
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
|
||||||
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
||||||
};
|
};
|
||||||
@@ -555,10 +555,10 @@ public:
|
|||||||
bool operator()( unsigned int a, unsigned int b ) const { return a == b; }
|
bool operator()( unsigned int a, unsigned int b ) const { return a == b; }
|
||||||
bool operator()( short a, short b ) const { return a == b; }
|
bool operator()( short a, short b ) const { return a == b; }
|
||||||
bool operator()( unsigned short a, unsigned short b ) const { return a == b; }
|
bool operator()( unsigned short a, unsigned short b ) const { return a == b; }
|
||||||
#if defined wxLongLong_t && !defined wxLongLongIsLong
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
bool operator()( wxLongLong_t a, wxLongLong_t b ) const { return a == b; }
|
bool operator()( wxLongLong_t a, wxLongLong_t b ) const { return a == b; }
|
||||||
bool operator()( wxULongLong_t a, wxULongLong_t b ) const { return a == b; }
|
bool operator()( wxULongLong_t a, wxULongLong_t b ) const { return a == b; }
|
||||||
#endif
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
|
|
||||||
wxIntegerEqual& operator=(const wxIntegerEqual&) { return *this; }
|
wxIntegerEqual& operator=(const wxIntegerEqual&) { return *this; }
|
||||||
};
|
};
|
||||||
|
@@ -2121,7 +2121,7 @@ public:
|
|||||||
// insert an unsigned long into string
|
// insert an unsigned long into string
|
||||||
wxString& operator<<(unsigned long ul)
|
wxString& operator<<(unsigned long ul)
|
||||||
{ return (*this) << Format(wxT("%lu"), ul); }
|
{ return (*this) << Format(wxT("%lu"), ul); }
|
||||||
#if defined wxLongLong_t && !defined wxLongLongIsLong
|
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
// insert a long long if they exist and aren't longs
|
// insert a long long if they exist and aren't longs
|
||||||
wxString& operator<<(wxLongLong_t ll)
|
wxString& operator<<(wxLongLong_t ll)
|
||||||
{
|
{
|
||||||
@@ -2132,7 +2132,7 @@ public:
|
|||||||
{
|
{
|
||||||
return (*this) << Format("%" wxLongLongFmtSpec "u" , ull);
|
return (*this) << Format("%" wxLongLongFmtSpec "u" , ull);
|
||||||
}
|
}
|
||||||
#endif // wxLongLong_t && !wxLongLongIsLong
|
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||||
// insert a float into string
|
// insert a float into string
|
||||||
wxString& operator<<(float f)
|
wxString& operator<<(float f)
|
||||||
{ return (*this) << Format(wxT("%f"), f); }
|
{ return (*this) << Format(wxT("%f"), f); }
|
||||||
|
Reference in New Issue
Block a user