14  #pragma pack(push,_CRT_PACKING) 
   15  #pragma warning(push,_STL_WARNING_LEVEL) 
   16  #pragma warning(disable: _STL_DISABLED_WARNINGS) 
   17  #pragma push_macro("new") 
   20  #pragma warning(disable: 4793) // function compiled as native 
   22   #define _Compiler_barrier()   _ReadWriteBarrier() 
   25   #define _Memory_barrier()     __dmb(0xB ) 
   29   #define _Memory_barrier()     __dmb(0xB ) 
   33  #if defined(_M_ARM) || defined(_M_ARM64) 
   34   #define _INTRIN_RELAXED(x)    _CONCAT(x, _nf) 
   35   #define _INTRIN_ACQUIRE(x)    _CONCAT(x, _acq) 
   36   #define _INTRIN_RELEASE(x)    _CONCAT(x, _rel) 
   37   #define _INTRIN_SEQ_CST(x)    x 
   39   #define _INTRIN_RELAXED(x)    x 
   40   #define _INTRIN_ACQUIRE(x)    x 
   41   #define _INTRIN_RELEASE(x)    x 
   42   #define _INTRIN_SEQ_CST(x)    x 
   46 #pragma push_macro("_InterlockedExchange64") 
   47 #pragma push_macro("_InterlockedExchangeAdd64") 
   48 #pragma push_macro("_InterlockedAnd64") 
   49 #pragma push_macro("_InterlockedOr64") 
   50 #pragma push_macro("_InterlockedXor64") 
   52 #undef _InterlockedExchange64 
   53 #undef _InterlockedExchangeAdd64 
   54 #undef _InterlockedAnd64 
   55 #undef _InterlockedOr64 
   56 #undef _InterlockedXor64 
   58 #define _InterlockedExchange64      _InterlockedExchange64_INLINE 
   59 #define _InterlockedExchangeAdd64   _InterlockedExchangeAdd64_INLINE 
   60 #define _InterlockedAnd64           _InterlockedAnd64_INLINE 
   61 #define _InterlockedOr64            _InterlockedOr64_INLINE 
   62 #define _InterlockedXor64           _InterlockedXor64_INLINE 
   64 inline long long _InterlockedExchange64(
volatile long long *_Tgt, 
long long _Value)
 
   71         } 
while (_Oldval != _InterlockedCompareExchange64(_Tgt, _Value, _Oldval));
 
   77 inline long long _InterlockedExchangeAdd64(
volatile long long *_Tgt, 
long long _Value)
 
   79     long long _Oldval, _Newval;
 
   84         _Newval = _Oldval + 
_Value;
 
   85         } 
while (_Oldval != _InterlockedCompareExchange64(_Tgt, _Newval, _Oldval));
 
   91 inline long long _InterlockedAnd64(
volatile long long *_Tgt, 
long long _Value)
 
   93     long long _Oldval, _Newval;
 
   98         _Newval = _Oldval & 
_Value;
 
   99         } 
while (_Oldval != _InterlockedCompareExchange64(_Tgt, _Newval, _Oldval));
 
  105 inline long long _InterlockedOr64(
volatile long long *_Tgt, 
long long _Value)
 
  107     long long _Oldval, _Newval;
 
  112         _Newval = _Oldval | 
_Value;
 
  113         } 
while (_Oldval != _InterlockedCompareExchange64(_Tgt, _Newval, _Oldval));
 
  119 inline long long _InterlockedXor64(
volatile long long *_Tgt, 
long long _Value)
 
  121     long long _Oldval, _Newval;
 
  126         _Newval = _Oldval ^ 
_Value;
 
  127         } 
while (_Oldval != _InterlockedCompareExchange64(_Tgt, _Newval, _Oldval));
 
  144   #ifndef _INVALID_MEMORY_ORDER 
  145    #if _ITERATOR_DEBUG_LEVEL == 2 
  146     #define _INVALID_MEMORY_ORDER   _DEBUG_ERROR("Invalid memory_order") 
  147    #elif _ITERATOR_DEBUG_LEVEL == 1 
  148     #define _INVALID_MEMORY_ORDER   _SCL_SECURE_VALIDATE("Invalid memory_order" && 0) 
  149    #elif _ITERATOR_DEBUG_LEVEL == 0 
  150     #define _INVALID_MEMORY_ORDER   static_cast<void>(0) 
  187     if ((_Order1 < 0) || (6 <= _Order1)
 
  188         || (_Order2 < 0) || (6 <= _Order2))
 
  193     return (_Upper[_Order1][_Order2]);
 
  233  #if defined(_M_ARM) || defined(_M_ARM64) 
  234     __iso_volatile_store8((
volatile char *)_Tgt, _Value);
 
  244  #if defined(_M_ARM) || defined(_M_ARM64) 
  246     __iso_volatile_store8((
volatile char *)_Tgt, _Value);
 
  258  #if defined(_M_ARM) || defined(_M_ARM64) 
  260     __iso_volatile_store8((
volatile char *)_Tgt, _Value);
 
  269     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  297  #if defined(_M_ARM) || defined(_M_ARM64) 
  298     _Value = __iso_volatile_load8((
volatile char *)_Tgt);
 
  314  #if defined(_M_ARM) || defined(_M_ARM64) 
  315     _Value = __iso_volatile_load8((
volatile char *)_Tgt);
 
  357     return (
_INTRIN_SEQ_CST(_InterlockedExchange8)((
volatile char *)_Tgt, _Value));
 
  364     return (
_INTRIN_RELAXED(_InterlockedExchange8)((
volatile char *)_Tgt, _Value));
 
  371     return (
_INTRIN_ACQUIRE(_InterlockedExchange8)((
volatile char *)_Tgt, _Value));
 
  378     return (
_INTRIN_RELEASE(_InterlockedExchange8)((
volatile char *)_Tgt, _Value));
 
  382     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  408     _Uint1_t *
_Exp, _Uint1_t _Value)
 
  411     _Uint1_t _Old_exp = *
_Exp;  
 
  413     _Uint1_t _Prev = 
_INTRIN_SEQ_CST(_InterlockedCompareExchange8)((
volatile char *)_Tgt,
 
  416     if (_Prev == _Old_exp)
 
  426     _Uint1_t *
_Exp, _Uint1_t _Value)
 
  429     _Uint1_t _Old_exp = *
_Exp;  
 
  431     _Uint1_t _Prev = 
_INTRIN_RELAXED(_InterlockedCompareExchange8)((
volatile char *)_Tgt,
 
  434     if (_Prev == _Old_exp)
 
  444     _Uint1_t *
_Exp, _Uint1_t _Value)
 
  447     _Uint1_t _Old_exp = *
_Exp;  
 
  449     _Uint1_t _Prev = 
_INTRIN_ACQUIRE(_InterlockedCompareExchange8)((
volatile char *)_Tgt,
 
  452     if (_Prev == _Old_exp)
 
  462     _Uint1_t *
_Exp, _Uint1_t _Value)
 
  465     _Uint1_t _Old_exp = *
_Exp;  
 
  467     _Uint1_t _Prev = 
_INTRIN_RELEASE(_InterlockedCompareExchange8)((
volatile char *)_Tgt,
 
  470     if (_Prev == _Old_exp)
 
  480     volatile _Uint1_t *_Tgt, _Uint1_t *
_Exp, _Uint1_t _Value,
 
  508     volatile _Uint1_t *_Tgt, _Uint1_t *
_Exp, _Uint1_t _Value,
 
  522     return (
_INTRIN_SEQ_CST(_InterlockedExchangeAdd8)((
volatile char *)_Tgt, _Value));
 
  529     return (
_INTRIN_RELAXED(_InterlockedExchangeAdd8)((
volatile char *)_Tgt, _Value));
 
  536     return (
_INTRIN_ACQUIRE(_InterlockedExchangeAdd8)((
volatile char *)_Tgt, _Value));
 
  543     return (
_INTRIN_RELEASE(_InterlockedExchangeAdd8)((
volatile char *)_Tgt, _Value));
 
  547     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  572     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  582     return (
_INTRIN_SEQ_CST(_InterlockedAnd8)((
volatile char *)_Tgt, _Value));
 
  589     return (
_INTRIN_RELAXED(_InterlockedAnd8)((
volatile char *)_Tgt, _Value));
 
  596     return (
_INTRIN_ACQUIRE(_InterlockedAnd8)((
volatile char *)_Tgt, _Value));
 
  603     return (
_INTRIN_RELEASE(_InterlockedAnd8)((
volatile char *)_Tgt, _Value));
 
  607     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  636     return (
_INTRIN_SEQ_CST(_InterlockedOr8)((
volatile char *)_Tgt, _Value));
 
  643     return (
_INTRIN_RELAXED(_InterlockedOr8)((
volatile char *)_Tgt, _Value));
 
  650     return (
_INTRIN_ACQUIRE(_InterlockedOr8)((
volatile char *)_Tgt, _Value));
 
  657     return (
_INTRIN_RELEASE(_InterlockedOr8)((
volatile char *)_Tgt, _Value));
 
  661     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  690     return (
_INTRIN_SEQ_CST(_InterlockedXor8)((
volatile char *)_Tgt, _Value));
 
  697     return (
_INTRIN_RELAXED(_InterlockedXor8)((
volatile char *)_Tgt, _Value));
 
  704     return (
_INTRIN_ACQUIRE(_InterlockedXor8)((
volatile char *)_Tgt, _Value));
 
  711     return (
_INTRIN_RELEASE(_InterlockedXor8)((
volatile char *)_Tgt, _Value));
 
  715     volatile _Uint1_t *_Tgt, _Uint1_t _Value, 
memory_order _Order)
 
  743  #if defined(_M_ARM) || defined(_M_ARM64) 
  744     __iso_volatile_store16((
volatile short *)_Tgt, _Value);
 
  754  #if defined(_M_ARM) || defined(_M_ARM64) 
  756     __iso_volatile_store16((
volatile short *)_Tgt, _Value);
 
  768  #if defined(_M_ARM) || defined(_M_ARM64) 
  770     __iso_volatile_store16((
volatile short *)_Tgt, _Value);
 
  774     _INTRIN_SEQ_CST(_InterlockedExchange16)((
volatile short *)_Tgt, _Value);
 
  779     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
  807  #if defined(_M_ARM) || defined(_M_ARM64) 
  808     _Value = __iso_volatile_load16((
volatile short *)_Tgt);
 
  824  #if defined(_M_ARM) || defined(_M_ARM64) 
  825     _Value = __iso_volatile_load16((
volatile short *)_Tgt);
 
  867     return (
_INTRIN_SEQ_CST(_InterlockedExchange16)((
volatile short *)_Tgt, _Value));
 
  874     return (
_INTRIN_RELAXED(_InterlockedExchange16)((
volatile short *)_Tgt, _Value));
 
  881     return (
_INTRIN_ACQUIRE(_InterlockedExchange16)((
volatile short *)_Tgt, _Value));
 
  888     return (
_INTRIN_RELEASE(_InterlockedExchange16)((
volatile short *)_Tgt, _Value));
 
  892     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
  918     _Uint2_t *
_Exp, _Uint2_t _Value)
 
  921     _Uint2_t _Old_exp = *
_Exp;  
 
  923     _Uint2_t _Prev = 
_INTRIN_SEQ_CST(_InterlockedCompareExchange16)((
volatile short *)_Tgt,
 
  926     if (_Prev == _Old_exp)
 
  936     _Uint2_t *
_Exp, _Uint2_t _Value)
 
  939     _Uint2_t _Old_exp = *
_Exp;  
 
  941     _Uint2_t _Prev = 
_INTRIN_RELAXED(_InterlockedCompareExchange16)((
volatile short *)_Tgt,
 
  944     if (_Prev == _Old_exp)
 
  954     _Uint2_t *
_Exp, _Uint2_t _Value)
 
  957     _Uint2_t _Old_exp = *
_Exp;  
 
  959     _Uint2_t _Prev = 
_INTRIN_ACQUIRE(_InterlockedCompareExchange16)((
volatile short *)_Tgt,
 
  962     if (_Prev == _Old_exp)
 
  972     _Uint2_t *
_Exp, _Uint2_t _Value)
 
  975     _Uint2_t _Old_exp = *
_Exp;  
 
  977     _Uint2_t _Prev = 
_INTRIN_RELEASE(_InterlockedCompareExchange16)((
volatile short *)_Tgt,
 
  980     if (_Prev == _Old_exp)
 
  990     volatile _Uint2_t *_Tgt, _Uint2_t *
_Exp, _Uint2_t _Value,
 
 1018     volatile _Uint2_t *_Tgt, _Uint2_t *
_Exp, _Uint2_t _Value,
 
 1032     return (
_INTRIN_SEQ_CST(_InterlockedExchangeAdd16)((
volatile short *)_Tgt, _Value));
 
 1039     return (
_INTRIN_RELAXED(_InterlockedExchangeAdd16)((
volatile short *)_Tgt, _Value));
 
 1046     return (
_INTRIN_ACQUIRE(_InterlockedExchangeAdd16)((
volatile short *)_Tgt, _Value));
 
 1053     return (
_INTRIN_RELEASE(_InterlockedExchangeAdd16)((
volatile short *)_Tgt, _Value));
 
 1057     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
 1082     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
 1092     return (
_INTRIN_SEQ_CST(_InterlockedAnd16)((
volatile short *)_Tgt, _Value));
 
 1099     return (
_INTRIN_RELAXED(_InterlockedAnd16)((
volatile short *)_Tgt, _Value));
 
 1106     return (
_INTRIN_ACQUIRE(_InterlockedAnd16)((
volatile short *)_Tgt, _Value));
 
 1113     return (
_INTRIN_RELEASE(_InterlockedAnd16)((
volatile short *)_Tgt, _Value));
 
 1117     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
 1146     return (
_INTRIN_SEQ_CST(_InterlockedOr16)((
volatile short *)_Tgt, _Value));
 
 1153     return (
_INTRIN_RELAXED(_InterlockedOr16)((
volatile short *)_Tgt, _Value));
 
 1160     return (
_INTRIN_ACQUIRE(_InterlockedOr16)((
volatile short *)_Tgt, _Value));
 
 1167     return (
_INTRIN_RELEASE(_InterlockedOr16)((
volatile short *)_Tgt, _Value));
 
 1171     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
 1200     return (
_INTRIN_SEQ_CST(_InterlockedXor16)((
volatile short *)_Tgt, _Value));
 
 1207     return (
_INTRIN_RELAXED(_InterlockedXor16)((
volatile short *)_Tgt, _Value));
 
 1214     return (
_INTRIN_ACQUIRE(_InterlockedXor16)((
volatile short *)_Tgt, _Value));
 
 1221     return (
_INTRIN_RELEASE(_InterlockedXor16)((
volatile short *)_Tgt, _Value));
 
 1225     volatile _Uint2_t *_Tgt, _Uint2_t _Value, 
memory_order _Order)
 
 1253  #if defined(_M_ARM) || defined(_M_ARM64) 
 1254     __iso_volatile_store32((
volatile int *)_Tgt, _Value);
 
 1264  #if defined(_M_ARM) || defined(_M_ARM64) 
 1266     __iso_volatile_store32((
volatile int *)_Tgt, _Value);
 
 1278  #if defined(_M_ARM) || defined(_M_ARM64) 
 1280     __iso_volatile_store32((
volatile int *)_Tgt, _Value);
 
 1317  #if defined(_M_ARM) || defined(_M_ARM64) 
 1318     _Value = __iso_volatile_load32((
volatile int *)_Tgt);
 
 1334  #if defined(_M_ARM) || defined(_M_ARM64) 
 1335     _Value = __iso_volatile_load32((
volatile int *)_Tgt);
 
 1377     return (
_INTRIN_SEQ_CST(_InterlockedExchange)((
volatile long *)_Tgt, _Value));
 
 1384     return (
_INTRIN_RELAXED(_InterlockedExchange)((
volatile long *)_Tgt, _Value));
 
 1391     return (
_INTRIN_ACQUIRE(_InterlockedExchange)((
volatile long *)_Tgt, _Value));
 
 1398     return (
_INTRIN_RELEASE(_InterlockedExchange)((
volatile long *)_Tgt, _Value));
 
 1436     if (_Prev == _Old_exp)
 
 1454     if (_Prev == _Old_exp)
 
 1472     if (_Prev == _Old_exp)
 
 1490     if (_Prev == _Old_exp)
 
 1542     return (
_INTRIN_SEQ_CST(_InterlockedExchangeAdd)((
volatile long *)_Tgt, _Value));
 
 1549     return (
_INTRIN_RELAXED(_InterlockedExchangeAdd)((
volatile long *)_Tgt, _Value));
 
 1556     return (
_INTRIN_ACQUIRE(_InterlockedExchangeAdd)((
volatile long *)_Tgt, _Value));
 
 1563     return (
_INTRIN_RELEASE(_InterlockedExchangeAdd)((
volatile long *)_Tgt, _Value));
 
 1602     return (
_INTRIN_SEQ_CST(_InterlockedAnd)((
volatile long *)_Tgt, _Value));
 
 1609     return (
_INTRIN_RELAXED(_InterlockedAnd)((
volatile long *)_Tgt, _Value));
 
 1616     return (
_INTRIN_ACQUIRE(_InterlockedAnd)((
volatile long *)_Tgt, _Value));
 
 1623     return (
_INTRIN_RELEASE(_InterlockedAnd)((
volatile long *)_Tgt, _Value));
 
 1656     return (
_INTRIN_SEQ_CST(_InterlockedOr)((
volatile long *)_Tgt, _Value));
 
 1663     return (
_INTRIN_RELAXED(_InterlockedOr)((
volatile long *)_Tgt, _Value));
 
 1670     return (
_INTRIN_ACQUIRE(_InterlockedOr)((
volatile long *)_Tgt, _Value));
 
 1677     return (
_INTRIN_RELEASE(_InterlockedOr)((
volatile long *)_Tgt, _Value));
 
 1710     return (
_INTRIN_SEQ_CST(_InterlockedXor)((
volatile long *)_Tgt, _Value));
 
 1717     return (
_INTRIN_RELAXED(_InterlockedXor)((
volatile long *)_Tgt, _Value));
 
 1724     return (
_INTRIN_ACQUIRE(_InterlockedXor)((
volatile long *)_Tgt, _Value));
 
 1731     return (
_INTRIN_RELEASE(_InterlockedXor)((
volatile long *)_Tgt, _Value));
 
 1766  #elif defined(_M_ARM64) 
 1767     __iso_volatile_store64((
volatile long long *)_Tgt, _Value);
 
 1770     _INTRIN_RELAXED(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value);
 
 1781  #elif defined(_M_ARM64) 
 1783     __iso_volatile_store64((
volatile long long *)_Tgt, _Value);
 
 1786     _INTRIN_RELEASE(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value);
 
 1794  #if defined(_M_ARM64) 
 1796     __iso_volatile_store64((
volatile long long *)_Tgt, _Value);
 
 1800     _INTRIN_SEQ_CST(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value);
 
 1805     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 1837  #elif defined(_M_ARM) 
 1838     _Value = __ldrexd((
volatile long long *)_Tgt);
 
 1841  #elif defined(_M_ARM64) 
 1842     _Value = __iso_volatile_load64((
volatile long long *)_Tgt);
 
 1846     _Value = _InterlockedOr64((
volatile long long *)_Tgt, 0);
 
 1860  #elif defined(_M_ARM) 
 1861     _Value = __ldrexd((
volatile long long *)_Tgt);
 
 1863  #elif defined(_M_ARM64) 
 1864     _Value = __iso_volatile_load64((
volatile long long *)_Tgt);
 
 1867     _Value = _InterlockedOr64((
volatile long long *)_Tgt, 0);
 
 1906     return (
_INTRIN_SEQ_CST(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value));
 
 1913     return (
_INTRIN_RELAXED(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value));
 
 1920     return (
_INTRIN_ACQUIRE(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value));
 
 1927     return (
_INTRIN_RELEASE(_InterlockedExchange64)((
volatile long long *)_Tgt, _Value));
 
 1931     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 1957     _Uint8_t *
_Exp, _Uint8_t _Value)
 
 1960     _Uint8_t _Old_exp = *
_Exp;  
 
 1962     _Uint8_t _Prev = 
_INTRIN_SEQ_CST(_InterlockedCompareExchange64)((
volatile long long *)_Tgt,
 
 1965     if (_Prev == _Old_exp)
 
 1975     _Uint8_t *
_Exp, _Uint8_t _Value)
 
 1978     _Uint8_t _Old_exp = *
_Exp;  
 
 1980     _Uint8_t _Prev = 
_INTRIN_RELAXED(_InterlockedCompareExchange64)((
volatile long long *)_Tgt,
 
 1983     if (_Prev == _Old_exp)
 
 1993     _Uint8_t *
_Exp, _Uint8_t _Value)
 
 1996     _Uint8_t _Old_exp = *
_Exp;  
 
 1998     _Uint8_t _Prev = 
_INTRIN_ACQUIRE(_InterlockedCompareExchange64)((
volatile long long *)_Tgt,
 
 2001     if (_Prev == _Old_exp)
 
 2011     _Uint8_t *
_Exp, _Uint8_t _Value)
 
 2014     _Uint8_t _Old_exp = *
_Exp;  
 
 2016     _Uint8_t _Prev = 
_INTRIN_RELEASE(_InterlockedCompareExchange64)((
volatile long long *)_Tgt,
 
 2019     if (_Prev == _Old_exp)
 
 2029     volatile _Uint8_t *_Tgt, _Uint8_t *
_Exp, _Uint8_t _Value,
 
 2057     volatile _Uint8_t *_Tgt, _Uint8_t *
_Exp, _Uint8_t _Value,
 
 2071     return (
_INTRIN_SEQ_CST(_InterlockedExchangeAdd64)((
volatile long long *)_Tgt, _Value));
 
 2078     return (
_INTRIN_RELAXED(_InterlockedExchangeAdd64)((
volatile long long *)_Tgt, _Value));
 
 2085     return (
_INTRIN_ACQUIRE(_InterlockedExchangeAdd64)((
volatile long long *)_Tgt, _Value));
 
 2092     return (
_INTRIN_RELEASE(_InterlockedExchangeAdd64)((
volatile long long *)_Tgt, _Value));
 
 2096     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 2121     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 2131     return (
_INTRIN_SEQ_CST(_InterlockedAnd64)((
volatile long long *)_Tgt, _Value));
 
 2138     return (
_INTRIN_RELAXED(_InterlockedAnd64)((
volatile long long *)_Tgt, _Value));
 
 2145     return (
_INTRIN_ACQUIRE(_InterlockedAnd64)((
volatile long long *)_Tgt, _Value));
 
 2152     return (
_INTRIN_RELEASE(_InterlockedAnd64)((
volatile long long *)_Tgt, _Value));
 
 2156     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 2185     return (
_INTRIN_SEQ_CST(_InterlockedOr64)((
volatile long long *)_Tgt, _Value));
 
 2192     return (
_INTRIN_RELAXED(_InterlockedOr64)((
volatile long long *)_Tgt, _Value));
 
 2199     return (
_INTRIN_ACQUIRE(_InterlockedOr64)((
volatile long long *)_Tgt, _Value));
 
 2206     return (
_INTRIN_RELEASE(_InterlockedOr64)((
volatile long long *)_Tgt, _Value));
 
 2210     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 2239     return (
_INTRIN_SEQ_CST(_InterlockedXor64)((
volatile long long *)_Tgt, _Value));
 
 2246     return (
_INTRIN_RELAXED(_InterlockedXor64)((
volatile long long *)_Tgt, _Value));
 
 2253     return (
_INTRIN_ACQUIRE(_InterlockedXor64)((
volatile long long *)_Tgt, _Value));
 
 2260     return (
_INTRIN_RELEASE(_InterlockedXor64)((
volatile long long *)_Tgt, _Value));
 
 2264     volatile _Uint8_t *_Tgt, _Uint8_t _Value, 
memory_order _Order)
 
 2316     static_assert(
sizeof(_Atomic_flag_t) == 
sizeof(
_Uint4_t),
 
 2317         "Unexpected _Atomic_flag_t size");
 
 2335  #if defined(_M_ARM) || defined(_M_ARM64) 
 2357  #if defined(_M_ARM) || defined(_M_ARM64) 
 2358  #define _YIELD_PROCESSOR __yield() 
 2361  #define _YIELD_PROCESSOR 
 2370     volatile _Atomic_flag_t *_Flag)
 
 2377     volatile _Atomic_flag_t *_Flag)
 
 2385     volatile _Atomic_flag_t *_Flag, 
size_t _Size,
 
 2386         volatile void *_Tgt, 
volatile const void *
_Src,
 
 2395     volatile _Atomic_flag_t *_Flag, 
size_t _Size,
 
 2396         volatile void *_Tgt, 
volatile void *
_Src,
 
 2399     unsigned char *
_Left = (
unsigned char *)_Tgt;
 
 2400     unsigned char *
_Right = (
unsigned char *)_Src;
 
 2405         unsigned char _Tmp = *
_Left;
 
 2413     volatile _Atomic_flag_t *_Flag, 
size_t _Size,
 
 2414         volatile void *_Tgt, 
volatile void *
_Exp, 
const volatile void *
_Src,
 
 2420     _Result = 
_CSTD memcmp((
const void *)_Tgt, (
const void *)_Exp, _Size) == 0;
 
 2430     volatile _Atomic_flag_t *_Flag, 
size_t _Size,
 
 2431     volatile void *_Tgt, 
volatile void *
_Exp, 
const volatile void *
_Src,
 
 2438  #if _USE_INTERLOCKED_REFCOUNTING == 0 
 2479         &_Counter, &_Expected, _Expected + 1,
 
 2492  #if defined(_M_IX86) 
 2493 #pragma pop_macro("_InterlockedExchange64") 
 2494 #pragma pop_macro("_InterlockedExchangeAdd64") 
 2495 #pragma pop_macro("_InterlockedAnd64") 
 2496 #pragma pop_macro("_InterlockedOr64") 
 2497 #pragma pop_macro("_InterlockedXor64") 
 2500  #pragma pop_macro("new") 
 2501  #pragma warning(pop) 
int _Atomic_compare_exchange_strong_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:479
 
_Uint1_t _Atomic_fetch_add_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:546
 
void _Atomic_store_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:1804
 
_Uint1_t _Fetch_and_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:585
 
_Uint4_t _Fetch_or_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1659
 
_Uint1_t _Fetch_add_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:539
 
int _Compare_exchange_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value)
Definition: xatomic.h:917
 
_Uint1_t _Fetch_or_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:653
 
int _Atomic_compare_exchange_strong_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:1499
 
_Uint2_t _Atomic_load_2(volatile _Uint2_t *_Tgt, memory_order _Order)
Definition: xatomic.h:841
 
constexpr const _Ty &() _Left
Definition: algorithm:3722
 
int _Atomic_compare_exchange_strong_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:2028
 
_Uint4_t _Atomic_fetch_sub_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1591
 
void _Atomic_store_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:268
 
_Uint1_t _Fetch_and_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:592
 
_Uint8_t _Load_relaxed_8(volatile _Uint8_t *_Tgt)
Definition: xatomic.h:1852
 
_Uint1_t _Exchange_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:367
 
#define _STD_BEGIN
Definition: yvals.h:553
 
_Uint4_t _Fetch_or_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1673
 
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Exp(double *, double, short)
 
int _Atomic_compare_exchange_strong_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:989
 
_Uint1_t _Fetch_and_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:599
 
_Uint2_t _Load_relaxed_2(volatile _Uint2_t *_Tgt)
Definition: xatomic.h:819
 
_Check_return_ int __cdecl memcmp(_In_reads_bytes_(_Size) void const *_Buf1, _In_reads_bytes_(_Size) void const *_Buf2, _In_ size_t _Size)
 
_Uint2_t _Fetch_or_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1156
 
void _Store_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1250
 
_Uint4_t _Atomic_exchange_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1401
 
void _Atomic_store_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1288
 
_Uint1_t _Fetch_or_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:646
 
#define _INTRIN_SEQ_CST(x)
Definition: xatomic.h:42
 
int _Compare_exchange_release_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value)
Definition: xatomic.h:971
 
_Uint8_t _Atomic_fetch_or_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:2209
 
_Uint4_t _Fetch_xor_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1727
 
int _Compare_exchange_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value)
Definition: xatomic.h:935
 
#define _INTRIN_RELEASE(x)
Definition: xatomic.h:41
 
_Uint4_t _Fetch_xor_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1706
 
_Atomic_integral_t _Inc_atomic_counter_explicit(_Atomic_counter_t &_Counter, memory_order _Order)
Definition: xatomic.h:2440
 
_Uint8_t _Exchange_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1916
 
void _Atomic_thread_fence(memory_order _Order)
Definition: xatomic.h:2333
 
_Uint1_t _Fetch_add_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:525
 
_Uint2_t _Fetch_and_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1095
 
_Uint1_t _Fetch_add_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:532
 
_Uint8_t _Fetch_or_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2181
 
#define _INVALID_MEMORY_ORDER
Definition: xatomic.h:150
 
_Uint4_t _Atomic_fetch_and_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1626
 
_Uint2_t _Fetch_and_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1088
 
_Uint1_t _Load_acquire_1(volatile _Uint1_t *_Tgt)
Definition: xatomic.h:324
 
_Uint4_t _Fetch_and_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1598
 
int _Compare_exchange_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value)
Definition: xatomic.h:407
 
_CRT_BEGIN_C_HEADER _Check_return_ _Ret_maybenull_ _In_ size_t _Size
Definition: corecrt_malloc.h:58
 
_Uint8_t _Fetch_add_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2081
 
_Uint8_t _Fetch_xor_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2242
 
_Uint4_t _Atomic_fetch_or_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1680
 
_Atomic_integral_t _Load_atomic_counter_explicit(_Atomic_counter_t &_Counter, memory_order _Order)
Definition: xatomic.h:2462
 
_Atomic_integral_t _Dec_atomic_counter_explicit(_Atomic_counter_t &_Counter, memory_order _Order)
Definition: xatomic.h:2451
 
void _Atomic_signal_fence(memory_order)
Definition: xatomic.h:2352
 
void _Atomic_flag_clear(volatile _Atomic_flag_t *_Flag, memory_order _Order)
Definition: xatomic.h:2313
 
void _Store_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1261
 
_Uint4_t _Atomic_fetch_add_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1566
 
_Uint1_t _Atomic_load_1(volatile _Uint1_t *_Tgt, memory_order _Order)
Definition: xatomic.h:331
 
_Uint4_t _Fetch_xor_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1720
 
_Uint8_t _Fetch_add_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2088
 
int _Compare_exchange_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value)
Definition: xatomic.h:1463
 
_Uint1_t _Exchange_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:360
 
_Uint2_t _Atomic_fetch_add_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:1056
 
memory_order _Memory_order_upper_bound(memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:154
 
_Uint2_t _Fetch_xor_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1196
 
_Uint8_t _Fetch_add_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2074
 
_Uint8_t _Fetch_and_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2141
 
_Uint1_t _Fetch_xor_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:693
 
_Uint32t _Uint4_t
Definition: xatomic0.h:25
 
_Uint2_t _Fetch_or_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1149
 
_Atomic_integral_t _Inc_atomic_counter(_Atomic_counter_t &_Counter)
Definition: xatomic.h:2446
 
int _Compare_exchange_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value)
Definition: xatomic.h:1956
 
_Uint1_t _Fetch_xor_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:686
 
int _Compare_exchange_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value)
Definition: xatomic.h:953
 
int _Atomic_compare_exchange_strong(volatile _Atomic_flag_t *_Flag, size_t _Size, volatile void *_Tgt, volatile void *_Exp, const volatile void *_Src, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:2429
 
_Uint2_t _Atomic_fetch_or_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:1170
 
unsigned long long _Uint8_t
Definition: xatomic.h:139
 
void _Store_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:241
 
void _Store_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1774
 
_Uint2_t _Atomic_fetch_and_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:1116
 
_Uint2_t _Atomic_exchange_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:891
 
_Uint4_t _Exchange_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1373
 
void _Store_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:751
 
_Uint8_t _Fetch_and_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2134
 
_Atomic_integral_t _Compare_increment_atomic_counter(_Atomic_counter_t &_Counter, _Atomic_integral_t _Expected)
Definition: xatomic.h:2483
 
_Uint8_t _Atomic_exchange_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:1930
 
_Uint1_t _Load_seq_cst_1(volatile _Uint1_t *_Tgt)
Definition: xatomic.h:292
 
_Uint4_t _Fetch_add_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1559
 
_Uint1_t _Fetch_xor_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:707
 
int _Atomic_compare_exchange_weak_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:1527
 
#define _INTRIN_ACQUIRE(x)
Definition: xatomic.h:40
 
_Uint4_t _Atomic_fetch_xor_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value, memory_order _Order)
Definition: xatomic.h:1734
 
_Uint2_t _Fetch_add_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1042
 
_Uint4_t _Atomic_load_4(volatile _Uint4_t *_Tgt, memory_order _Order)
Definition: xatomic.h:1351
 
_Uint1_t _Load_relaxed_1(volatile _Uint1_t *_Tgt)
Definition: xatomic.h:309
 
_Uint8_t _Fetch_or_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2188
 
_Uint4_t _Fetch_xor_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1713
 
_In_ size_t _Out_opt_ int _In_z_ unsigned char const * _Src
Definition: mbstring.h:1039
 
void _Store_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:764
 
_Uint4_t _Atomic_integral_t
Definition: xatomic0.h:26
 
_Uint8_t _Fetch_or_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2195
 
_Uint8_t _Atomic_fetch_and_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:2155
 
_Uint4_t _Fetch_or_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1652
 
_Uint2_t _Exchange_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:884
 
_Uint2_t _Fetch_and_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1109
 
_Uint1_t _Fetch_or_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:639
 
_Uint4_t _Load_relaxed_4(volatile _Uint4_t *_Tgt)
Definition: xatomic.h:1329
 
_Uint8_t _Load_seq_cst_8(volatile _Uint8_t *_Tgt)
Definition: xatomic.h:1828
 
int _Compare_exchange_release_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value)
Definition: xatomic.h:1481
 
int _Compare_exchange_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value)
Definition: xatomic.h:1427
 
void _Store_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:230
 
_Uint8_t _Fetch_xor_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2235
 
int _Compare_exchange_release_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value)
Definition: xatomic.h:2010
 
int _Compare_exchange_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t *_Exp, _Uint4_t _Value)
Definition: xatomic.h:1445
 
_Uint1_t _Atomic_exchange_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:381
 
_Uint4_t _Exchange_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1394
 
_Uint8_t _Atomic_fetch_sub_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:2120
 
_Uint4_t _Load_seq_cst_4(volatile _Uint4_t *_Tgt)
Definition: xatomic.h:1312
 
int _Atomic_flag_test_and_set(volatile _Atomic_flag_t *_Flag, memory_order _Order)
Definition: xatomic.h:2288
 
memory_order
Definition: xatomic0.h:16
 
unsigned short _Uint2_t
Definition: xatomic.h:137
 
int _Compare_exchange_release_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value)
Definition: xatomic.h:461
 
#define _YIELD_PROCESSOR
Definition: xatomic.h:2361
 
void _Atomic_copy(volatile _Atomic_flag_t *_Flag, size_t _Size, volatile void *_Tgt, volatile const void *_Src, memory_order)
Definition: xatomic.h:2384
 
void _Store_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:254
 
_Uint1_t _Atomic_fetch_or_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:660
 
_Uint2_t _Exchange_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:877
 
_Uint4_t _Exchange_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1380
 
_Uint1_t _Atomic_fetch_xor_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:714
 
Definition: xatomic0.h:21
 
memcpy(_Destination, _Source, _SourceSize)
 
_Uint8_t _Exchange_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1923
 
_Uint4_t _Fetch_add_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1538
 
_Uint1_t _Fetch_or_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:632
 
_Uint1_t _Exchange_release_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:374
 
_Uint2_t _Fetch_add_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1035
 
#define _STD_END
Definition: yvals.h:554
 
_Uint4_t _Fetch_or_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1666
 
_In_ _Value
Definition: corecrt_wstdlib.h:65
 
_Uint8_t _Fetch_and_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2148
 
_Uint8_t _Atomic_fetch_add_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:2095
 
_Uint2_t _Atomic_fetch_xor_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:1224
 
_Atomic_integral_t _Dec_atomic_counter(_Atomic_counter_t &_Counter)
Definition: xatomic.h:2457
 
Definition: xatomic0.h:18
 
void _Store_seq_cst_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1274
 
_Uint8_t _Fetch_and_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2127
 
void _Lock_spin_lock(volatile _Atomic_flag_t *_Flag)
Definition: xatomic.h:2369
 
_Uint2_t _Atomic_fetch_sub_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:1081
 
void _Store_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:740
 
_Uint2_t _Fetch_add_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1028
 
_Uint2_t _Fetch_xor_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1210
 
_Uint2_t _Exchange_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:863
 
_Uint4_t _Exchange_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1387
 
_Uint8_t _Fetch_or_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2202
 
_Uint1_t _Fetch_add_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:518
 
_Uint1_t _Atomic_fetch_and_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:606
 
_Uint8_t _Fetch_xor_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2249
 
_Uint8_t _Fetch_xor_release_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2256
 
void _Store_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1760
 
Definition: xatomic0.h:17
 
int _Atomic_compare_exchange_weak(volatile _Atomic_flag_t *_Flag, size_t _Size, volatile void *_Tgt, volatile void *_Exp, const volatile void *_Src, memory_order, memory_order)
Definition: xatomic.h:2412
 
_Uint4_t _Fetch_and_release_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1619
 
_Uint1_t _Exchange_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:353
 
long _Atomic_flag_t
Definition: xatomic.h:142
 
_Atomic_integral_t _Compare_increment_atomic_counter_explicit(_Atomic_counter_t &_Counter, _Atomic_integral_t _Expected, memory_order _Order)
Definition: xatomic.h:2473
 
_Uint2_t _Fetch_add_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1049
 
int _Atomic_compare_exchange_weak_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:507
 
Definition: xatomic0.h:22
 
_Uint8_t _Atomic_load_8(volatile _Uint8_t *_Tgt, memory_order _Order)
Definition: xatomic.h:1880
 
void _Atomic_store_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value, memory_order _Order)
Definition: xatomic.h:778
 
Definition: xatomic0.h:20
 
_Uint2_t _Exchange_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:870
 
_Uint8_t _Load_acquire_8(volatile _Uint8_t *_Tgt)
Definition: xatomic.h:1873
 
#define _CSTD
Definition: yvals.h:570
 
#define _Compiler_barrier()
Definition: xatomic.h:22
 
Definition: xatomic0.h:19
 
_Uint4_t _Fetch_and_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1612
 
void _Unlock_spin_lock(volatile _Atomic_flag_t *_Flag)
Definition: xatomic.h:2376
 
_Uint8_t _Atomic_fetch_xor_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value, memory_order _Order)
Definition: xatomic.h:2263
 
_Uint8_t _Exchange_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1909
 
_Uint1_t _Atomic_fetch_sub_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value, memory_order _Order)
Definition: xatomic.h:571
 
_STD_BEGIN typedef unsigned char _Uint1_t
Definition: xatomic.h:136
 
_Uint4_t _Fetch_add_acquire_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1552
 
_Atomic_integral_t _Load_atomic_counter(_Atomic_counter_t &_Counter)
Definition: xatomic.h:2468
 
_Uint2_t _Fetch_and_acquire_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1102
 
_Uint4_t _Load_acquire_4(volatile _Uint4_t *_Tgt)
Definition: xatomic.h:1344
 
#define _INTRIN_RELAXED(x)
Definition: xatomic.h:39
 
_Uint4_t _Fetch_add_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1545
 
_Uint2_t _Fetch_or_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1163
 
void _Atomic_exchange(volatile _Atomic_flag_t *_Flag, size_t _Size, volatile void *_Tgt, volatile void *_Src, memory_order)
Definition: xatomic.h:2394
 
_Uint8_t _Exchange_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1902
 
void _Store_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:1790
 
_Result
Definition: corecrt_wconio.h:362
 
_Uint1_t _Fetch_xor_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:700
 
int _Compare_exchange_relaxed_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value)
Definition: xatomic.h:1974
 
_Uint2_t _Fetch_xor_relaxed_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1203
 
_Uint4_t _Fetch_and_relaxed_4(volatile _Uint4_t *_Tgt, _Uint4_t _Value)
Definition: xatomic.h:1605
 
int _Compare_exchange_relaxed_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value)
Definition: xatomic.h:425
 
int _Atomic_compare_exchange_weak_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:2056
 
_Uint2_t _Load_acquire_2(volatile _Uint2_t *_Tgt)
Definition: xatomic.h:834
 
long __cdecl _InterlockedCompareExchange(long volatile *, long, long)
 
_Uint2_t _Load_seq_cst_2(volatile _Uint2_t *_Tgt)
Definition: xatomic.h:802
 
int _Compare_exchange_acquire_1(volatile _Uint1_t *_Tgt, _Uint1_t *_Exp, _Uint1_t _Value)
Definition: xatomic.h:443
 
_Uint2_t _Fetch_or_seq_cst_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1142
 
_Uint2_t _Fetch_xor_release_2(volatile _Uint2_t *_Tgt, _Uint2_t _Value)
Definition: xatomic.h:1217
 
_Atomic_integral_t _Atomic_counter_t
Definition: xatomic0.h:47
 
constexpr const _Ty &() _Right
Definition: algorithm:3723
 
int _Atomic_compare_exchange_weak_2(volatile _Uint2_t *_Tgt, _Uint2_t *_Exp, _Uint2_t _Value, memory_order _Order1, memory_order _Order2)
Definition: xatomic.h:1017
 
int _Compare_exchange_acquire_8(volatile _Uint8_t *_Tgt, _Uint8_t *_Exp, _Uint8_t _Value)
Definition: xatomic.h:1992
 
_Uint8_t _Fetch_add_seq_cst_8(volatile _Uint8_t *_Tgt, _Uint8_t _Value)
Definition: xatomic.h:2067
 
_Uint1_t _Fetch_and_seq_cst_1(volatile _Uint1_t *_Tgt, _Uint1_t _Value)
Definition: xatomic.h:578
 
void _Validate_compare_exchange_memory_order(memory_order _Success, memory_order _Failure)
Definition: xatomic.h:196