]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
Document revisioning (including more wx-like formatting and internal function removal)
[wxWidgets.git] / include / wx / defs.h
index 21a17fc0777eccd35c9a2e7afee088b4aed928b3..6255413213766d8e5d2fe49749f6cf7735362a8e 100644 (file)
@@ -582,6 +582,17 @@ typedef short int WXTYPE;
     #define wxDEPRECATED(x) x
 #endif
 
+/*
+    explicitly specifying inline allows gcc < 3.4 to
+    handle the deprecation attribute even in the constructor.
+    doesn't seem to work on Apple's gcc 4.0.1 unless using -O0
+*/
+#if defined( __DARWIN__ ) && !defined(__WXDEBUG__)
+    #define  wxDEPRECATED_CONSTRUCTOR(x) x
+#else
+    #define  wxDEPRECATED_CONSTRUCTOR(x) wxDEPRECATED( inline x)
+#endif
+    
 /*
    Macro which marks the function as being deprecated but also defines it
    inline.
@@ -639,6 +650,15 @@ typedef short int WXTYPE;
             ptr = NULL;
         }
     }
+
+    // trivial implementation of std::swap() for primitive types
+    template <typename T>
+    inline void wxSwap(T& first, T& second)
+    {
+        T tmp(first);
+        first = second;
+        second = tmp;
+    }
 #endif /*__cplusplus*/
 
 /*  size of statically declared array */
@@ -2646,6 +2666,21 @@ enum wxUpdateUI
     wxUPDATE_UI_FROMIDLE      = 0x0002 /*  Invoked from On(Internal)Idle */
 };
 
+
+/* ---------------------------------------------------------------------------- */
+/* wxList types */
+/* ---------------------------------------------------------------------------- */
+
+/* type of compare function for list sort operation (as in 'qsort'): it should
+   return a negative value, 0 or positive value if the first element is less
+   than, equal or greater than the second */
+
+typedef int (* LINKAGEMODE wxSortCompareFunction)(const void *elem1, const void *elem2);
+
+/* wxList iterator function */
+typedef int (* LINKAGEMODE wxListIterateFunction)(void *current);
+
+
 /*  ---------------------------------------------------------------------------- */
 /*  miscellaneous */
 /*  ---------------------------------------------------------------------------- */