2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2008-03-08 09:43:31 -05:00
|
|
|
// Name: atomic.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of global functions
|
2008-03-08 09:43:31 -05:00
|
|
|
// Author: wxWidgets team
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-08 09:43:31 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2008-03-14 11:35:10 -04:00
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
// Global functions/macros
|
|
|
|
// ============================================================================
|
|
|
|
|
2009-01-05 15:48:06 -05:00
|
|
|
/** @addtogroup group_funcmacro_atomic */
|
2008-03-14 11:35:10 -04:00
|
|
|
//@{
|
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
/**
|
2008-03-14 11:35:10 -04:00
|
|
|
This function increments @a value in an atomic manner.
|
2008-03-19 04:02:01 -04:00
|
|
|
|
2022-05-10 18:15:22 -04:00
|
|
|
@note It is recommended to use @c std::atomic available in C++11 and later
|
|
|
|
instead of this function in any new code.
|
|
|
|
|
2008-06-02 16:42:23 -04:00
|
|
|
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.
|
|
|
|
|
2022-05-10 18:12:43 -04:00
|
|
|
Returns the new value after the increment (the return value is only
|
|
|
|
available since wxWidgets 3.1.7, this function doesn't return anything in
|
|
|
|
previous versions of the library).
|
|
|
|
|
2008-03-19 04:02:01 -04:00
|
|
|
@header{wx/atomic.h}
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2022-05-10 18:12:43 -04:00
|
|
|
wxInt32 wxAtomicInc(wxAtomicInt& value);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
2008-03-14 11:35:10 -04:00
|
|
|
/**
|
2008-06-02 16:42:23 -04:00
|
|
|
This function decrements value in an atomic manner.
|
|
|
|
|
2022-05-10 18:12:43 -04:00
|
|
|
Returns the new value after decrementing it.
|
2008-06-02 16:42:23 -04:00
|
|
|
|
|
|
|
@see wxAtomicInc
|
2008-03-19 04:02:01 -04:00
|
|
|
|
|
|
|
@header{wx/atomic.h}
|
2008-03-14 11:35:10 -04:00
|
|
|
*/
|
|
|
|
wxInt32 wxAtomicDec(wxAtomicInt& value);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
2008-03-14 11:35:10 -04:00
|
|
|
//@}
|
2008-03-19 04:02:01 -04:00
|
|
|
|