Files
wxWidgets/interface/wx/atomic.h
Vadim Zeitlin cf66ce5f94 Return the new value from wxAtomicInc() too
This is easy to do and can be useful when using an atomic initialization
counter.

The only platform where not returning the new value might be more
efficient than returning it is Solaris which is not really relevant any
more and on all the other platforms the functions we were already using
provided this value already (or almost, in case of using gcc builtins,
when we just have to use a different one).
2022-05-11 00:16:47 +02:00

46 lines
1.4 KiB
C

/////////////////////////////////////////////////////////////////////////////
// Name: atomic.h
// Purpose: interface of global functions
// Author: wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// Global functions/macros
// ============================================================================
/** @addtogroup group_funcmacro_atomic */
//@{
/**
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.
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).
@header{wx/atomic.h}
*/
wxInt32 wxAtomicInc(wxAtomicInt& value);
/**
This function decrements value in an atomic manner.
Returns the new value after decrementing it.
@see wxAtomicInc
@header{wx/atomic.h}
*/
wxInt32 wxAtomicDec(wxAtomicInt& value);
//@}