]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxUINTn_MAX constants; document them together with the existing wxINTn_MIN...
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 2 Jun 2009 13:43:32 +0000 (13:43 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 2 Jun 2009 13:43:32 +0000 (13:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
interface/wx/defs.h
src/propgrid/props.cpp

index 8c99a2c7def0d2a5fc5c59f4b1578ded5736ddb0..a557cea9c35c370bf5734d5e5333e331de3983c4 100644 (file)
@@ -916,16 +916,20 @@ typedef wxUint16 wxWord;
 /* also define C99-like sized MIN/MAX constants */
 #define wxINT8_MIN CHAR_MIN
 #define wxINT8_MAX CHAR_MAX
+#define wxUINT8_MAX UCHAR_MAX
 
 #define wxINT16_MIN SHRT_MIN
 #define wxINT16_MAX SHRT_MAX
+#define wxUINT16_MAX USHRT_MAX
 
 #if SIZEOF_INT == 4
     #define wxINT32_MIN INT_MIN
     #define wxINT32_MAX INT_MAX
+    #define wxUINT32_MAX UINT_MAX
 #elif SIZEOF_LONG == 4
     #define wxINT32_MIN LONG_MIN
     #define wxINT32_MAX LONG_MAX
+    #define wxUINT32_MAX ULONG_MAX
 #else
     #error "Unknown 32 bit type"
 #endif
@@ -933,11 +937,13 @@ typedef wxUint16 wxWord;
 typedef wxUint32 wxDword;
 
 #ifdef LLONG_MAX
-    #define wxINT64_MAX LLONG_MAX
     #define wxINT64_MIN LLONG_MIN
+    #define wxINT64_MAX LLONG_MAX
+    #define wxUINT64_MAX ULLONG_MAX
 #else
-    #define wxINT64_MAX wxLL(9223372036854775807)
     #define wxINT64_MIN (wxLL(-9223372036854775807)-1)
+    #define wxINT64_MAX wxLL(9223372036854775807)
+    #define wxUINT64_MAX wxULL(0xFFFFFFFFFFFFFFFF)
 #endif
 
 /*  64 bit */
index 924470bed1995aaadbab91a1ed379d8ae24f9632..cb756d8ca20719de557285b7f2b2c180516ef0e4 100644 (file)
@@ -776,6 +776,34 @@ enum wxUpdateUI
 };
 
 
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+/**
+    C99-like sized MIN/MAX constants for all integer types.
+
+    For each @c n in the set 8, 16, 32, 64 we define @c wxINTn_MIN, @c
+    wxINTn_MAX and @c wxUINTc_MAX (@c wxUINTc_MIN is always 0 and so is not
+    defined).
+ */
+//@{
+#define wxINT8_MIN CHAR_MIN
+#define wxINT8_MAX CHAR_MAX
+#define wxUINT8_MAX UCHAR_MAX
+
+#define wxINT16_MIN SHRT_MIN
+#define wxINT16_MAX SHRT_MAX
+#define wxUINT16_MAX USHRT_MAX
+
+#define wxINT32_MIN INT_MIN-or-LONG_MIN
+#define wxINT32_MAX INT_MAX-or-LONG_MAX
+#define wxUINT32_MAX UINT_MAX-or-LONG_MAX
+
+#define wxINT64_MIN LLONG_MIN
+#define wxINT64_MAX LLONG_MAX
+#define wxUINT64_MAX ULLONG_MAX
+//@}
 
 // ----------------------------------------------------------------------------
 // types
index d1bd9eaf381b96e47d7e38d6fe907eaabb9ebdcc..97d5c1ad45d2d13aba14c5f096e5d1d0e8e2cb36 100644 (file)
@@ -478,21 +478,13 @@ bool wxUIntProperty::IntToValue( wxVariant& variant, int number, int WXUNUSED(ar
     return false;
 }
 
-#ifdef ULLONG_MAX
-  #define wxUINT64_MAX ULLONG_MAX
-  #define wxUINT64_MIN wxULL(0)
-#else
-  #define wxUINT64_MAX wxULL(0xFFFFFFFFFFFFFFFF)
-  #define wxUINT64_MIN wxULL(0)
-#endif
-
 bool wxUIntProperty::ValidateValue( wxVariant& value, wxPGValidationInfo& validationInfo ) const
 {
     // Check for min/max
     wxULongLong_t ll;
     if ( wxPGVariantToULongLong(value, &ll) )
     {
-        wxULongLong_t min = wxUINT64_MIN;
+        wxULongLong_t min = 0;
         wxULongLong_t max = wxUINT64_MAX;
         wxVariant variant;