X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c913512a4c9f36e11e07ea707002fab1608d324..a25484eb1391b53e6f0c1205af4b3a23183e512e:/interface/atomic.h diff --git a/interface/atomic.h b/interface/atomic.h index 6849d00675..3767cd7f0b 100644 --- a/interface/atomic.h +++ b/interface/atomic.h @@ -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); + +//@}