]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/atomic.h
prevent memory leak
[wxWidgets.git] / interface / atomic.h
index 6849d00675674c89bca3e93b1106b897bd2df568..3767cd7f0ba5516cfa2b734a13774cbf92380268 100644 (file)
@@ -1,14 +1,43 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        atomic.h
-// Purpose:     documentation for global functions
+// Purpose:     interface of global functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+
+// ============================================================================
+// Global functions/macros
+// ============================================================================
+
+/** @ingroup group_funcmacro_atomic */
+//@{
+
 /**
-This function increments @e value in an atomic manner.
+    This function increments @a value in an atomic manner.
+
+    Whenever possible wxWidgets provides an efficient, CPU-specific,
+    implementation of this function. If such implementation is available, the
+    symbol wxHAS_ATOMIC_OPS is defined. Otherwise this function still exists
+    but is implemented in a generic way using a critical section which can be
+    prohibitively expensive for use in performance-sensitive code.
+
+    @header{wx/atomic.h}
 */
 void wxAtomicInc(wxAtomicInt& value);
 
+/**
+    This function decrements value in an atomic manner.
+
+    Returns 0 if value is 0 after decrement or any non-zero value (not
+    necessarily equal to the value of the variable) otherwise.
+
+    @see wxAtomicInc
+
+    @header{wx/atomic.h}
+*/
+wxInt32 wxAtomicDec(wxAtomicInt& value);
+
+//@}