fbxsdk/core/sync/fbxatomic.h Source File
Go to the documentation of this file.
13 #ifndef _FBXSDK_CORE_SYNC_ATOMIC_H_
14 #define _FBXSDK_CORE_SYNC_ATOMIC_H_
18 #if !defined(FBXSDK_ENV_WINSTORE) && !defined(FBXSDK_ENV_EMSCRIPTEN)
25 static void Inc(
volatile FbxAtomic* pPtr);
26 static void Dec(
volatile FbxAtomic* pPtr);
27 static bool Add(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
28 static bool Sub(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
29 static bool And(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
30 static bool Or(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
31 static bool Nand(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
32 static bool Xor(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
33 static bool CompareAndSwap(
volatile FbxAtomic* pPtr, FbxAtomic pOld, FbxAtomic pSwap);
34 static FbxAtomic TestAndSet(
volatile FbxAtomic* pPtr);
35 static FbxAtomic FetchAndSwap(
volatile FbxAtomic* pPtr, FbxAtomic pSwap);
36 static FbxAtomic FetchAndInc(
volatile FbxAtomic* pPtr);
37 static FbxAtomic FetchAndDec(
volatile FbxAtomic* pPtr);
38 static FbxAtomic FetchAndAdd(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
39 static FbxAtomic FetchAndSub(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
40 static FbxAtomic FetchAndOr(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
41 static FbxAtomic FetchAndAnd(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
42 static FbxAtomic FetchAndXor(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
43 static FbxAtomic FetchAndNand(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
44 static FbxAtomic IncAndFetch(
volatile FbxAtomic* pPtr);
45 static FbxAtomic DecAndFetch(
volatile FbxAtomic* pPtr);
46 static FbxAtomic AddAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
47 static FbxAtomic SubAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
48 static FbxAtomic OrAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
49 static FbxAtomic AndAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
50 static FbxAtomic XorAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
51 static FbxAtomic NandAndFetch(
volatile FbxAtomic* pPtr, FbxAtomic pVal);
FBX SDK environment definition.