8 #pragma pack(push,_CRT_PACKING)
9 #pragma warning(push,3)
10 #pragma push_macro("new")
14 #if !defined(_GENERIC_ATOMICS)
15 #define _GENERIC_ATOMICS 0
37 #define _WCHAR_T_SIZE 2
41 #define _LONGLONG_SIZE 8
43 #if defined(_M_X64) || defined(_LP64) || defined(__x86_64)
55 #elif !_GENERIC_ATOMICS
72 #define _ATOMIC_MAXBYTES_LOCK_FREE 8
73 #define _ATOMIC_FLAG_USES_LOCK 0
74 #define _ATOMIC_FENCE_USES_LOCK 0
87 #if defined(__cplusplus)
139 &_Counter, &_Expected, _Expected + 1,
151 #define _Get_atomic_count(_Counter) _Counter
153 #define _Init_atomic_counter(_Counter, _Value) \
156 #define _Inc_atomic_counter_explicit(_Counter, _Order) \
157 (_Atomic_fetch_add_4(&_Counter, 1, _Order) + 1)
159 #define _Inc_atomic_counter(_Counter) \
160 (_Inc_atomic_counter_explicit(_Counter, memory_order_seq_cst))
162 #define _Dec_atomic_counter_explicit(_Counter, _Order) \
163 (_Atomic_fetch_sub_4(&_Counter, 1, _Order) - 1)
165 #define _Dec_atomic_counter(_Counter) \
166 (_Dec_atomic_counter_explicit(_Counter, memory_order_seq_cst))
168 #define _Load_atomic_counter_explicit(_Counter, _Order) \
169 _Atomic_load_4(&_Counter, _Order)
171 #define _Load_atomic_counter(_Counter) \
172 _Load_atomic_counter_explicit(_Counter, memory_order_seq_cst)
174 #define _Compare_increment_atomic_counter_explicit(_Counter, _Expected, _Order) \
175 _Atomic_compare_exchange_weak_4(&_Counter, &_Expected, _Expected + 1, \
178 #define _Compare_increment_atomic_counter(_Counter, _Expected) \
179 _Compare_increment_atomic_counter_explicit( \
180 _Counter, _Expected, memory_order_seq_cst)
189 #pragma pop_macro("new")
#define _Inc_atomic_counter(_Counter)
Definition: xatomic0.h:159
#define _END_EXTERN_C
Definition: yvals.h:564
#define _Load_atomic_counter_explicit(_Counter, _Order)
Definition: xatomic0.h:168
_CRTIMP _In_ int _Value
Definition: setjmp.h:190
#define _STD_BEGIN
Definition: yvals.h:553
#define _Dec_atomic_counter(_Counter)
Definition: xatomic0.h:165
_CRTIMP2_PURE void __cdecl _Unlock_shared_ptr_spin_lock()
unsigned long _Uint32t
Definition: yvals.h:820
_EXTERN_C _CRTIMP2_PURE void __cdecl _Lock_shared_ptr_spin_lock()
_Uint4_t _Atomic_fetch_sub_4(volatile _Uint4_t *, _Uint4_t, memory_order)
Definition: xatomic.h:1693
#define _Inc_atomic_counter_explicit(_Counter, _Order)
Definition: xatomic0.h:156
long _Atomic_flag_t
Definition: xatomic0.h:70
#define _Load_atomic_counter(_Counter)
Definition: xatomic0.h:171
_Uint32t _Uint4_t
Definition: xatomic0.h:28
#define _Get_atomic_count(_Counter)
Definition: xatomic0.h:151
#define _EXTERN_C
Definition: yvals.h:563
_Uint4_t _Atomic_load_4(volatile _Uint4_t *, memory_order)
Definition: xatomic.h:1444
int _Atomic_compare_exchange_weak_4(volatile _Uint4_t *, _Uint4_t *, _Uint4_t, memory_order, memory_order)
Definition: xatomic.h:1629
#define _Compare_increment_atomic_counter(_Counter, _Expected)
Definition: xatomic0.h:178
_Uint4_t _Atomic_integral_t
Definition: xatomic0.h:29
memory_order
Definition: xatomic0.h:19
#define _Compare_increment_atomic_counter_explicit(_Counter, _Expected, _Order)
Definition: xatomic0.h:174
Definition: xatomic0.h:24
#define _Init_atomic_counter(_Counter, _Value)
Definition: xatomic0.h:153
#define _STD_END
Definition: yvals.h:554
Definition: xatomic0.h:21
_Uint4_t _Atomic_fetch_add_4(volatile _Uint4_t *, _Uint4_t, memory_order)
Definition: xatomic.h:1668
Definition: xatomic0.h:20
Definition: xatomic0.h:25
Definition: xatomic0.h:23
Definition: xatomic0.h:22
#define _Dec_atomic_counter_explicit(_Counter, _Order)
Definition: xatomic0.h:162
#define _CRTIMP2_PURE
Definition: yvals.h:483
_Atomic_integral_t _Atomic_counter_t
Definition: xatomic0.h:85