18 #define CEE_ATOMIC_COUNTER_CLASS_EXISTS
19 #elif defined(CEE_OSX)
20 #include <libkern/OSAtomic.h>
21 #define CEE_ATOMIC_COUNTER_CLASS_EXISTS
22 #elif defined __GNUC__
23 #if (CEE_GCC_VER >= 40200) && (defined(__x86_64__) || defined(__i386__))
24 #define CEE_HAVE_GCC_ATOMICS
25 #define CEE_ATOMIC_COUNTER_CLASS_EXISTS
26 #elif (CEE_GCC_VER >= 40300)
27 #define CEE_HAVE_GCC_ATOMICS
28 #define CEE_ATOMIC_COUNTER_CLASS_EXISTS
31 #ifdef CEE_IOS // Disable for all compilers and architectures for Apple iOS
32 #undef CEE_ATOMIC_COUNTER_CLASS_EXISTS
33 #ifndef CEE_WORKAROUND_TO_COMPILE_ON_SYSTEMS_WITHOUT_ATOMICS
34 #define CEE_WORKAROUND_TO_COMPILE_ON_SYSTEMS_WITHOUT_ATOMICS
38 #if defined(CEE_ATOMIC_COUNTER_CLASS_EXISTS)
42 class CEE_CORE_EXPORT AtomicCounter
45 explicit AtomicCounter(
int initialValue);
48 operator int ()
const;
49 void setCount(
int count);
54 int operator ++ (
int);
57 int operator -- (
int);
61 CEE_DISALLOW_COPY_AND_ASSIGN(AtomicCounter);
64 typedef volatile long ImplType;
65 #elif defined(CEE_IOS) || defined(CEE_OSX)
66 typedef int32_t ImplType;
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppLogging.cpp:20