#pragma once #include #include "il2cpp-config.h" #include "il2cpp-object-internals.h" namespace il2cpp { namespace icalls { namespace mscorlib { namespace System { namespace Threading { class LIBIL2CPP_CODEGEN_API Interlocked { public: static int32_t Add(int32_t* location1, int32_t value); static int64_t Add64(int64_t* location1, int64_t value); static int32_t CompareExchange(int32_t* location, int32_t value, int32_t comparand); static int64_t CompareExchange64(int64_t* location1, int64_t value, int64_t comparand); static double CompareExchangeDouble(double* location1, double value, double comparand); static intptr_t CompareExchangeIntPtr(intptr_t* location, intptr_t value, intptr_t comparand); static float CompareExchangeSingle(float* location1, float value, float comparand); static void* CompareExchange_T(void** location, void* value, void* comparand); static int32_t Decrement(int32_t* location); static int64_t Decrement64(int64_t* location); static intptr_t ExchangeIntPtr(intptr_t* location, intptr_t value); static int32_t Exchange(int32_t* location1, int32_t value); static int64_t Exchange64(int64_t* location1, int64_t value); static double ExchangeDouble(double* location1, double value); static void* ExchangePointer(void** location1, void* value); static float ExchangeSingle(float* location1, float value); static int32_t Increment(int32_t* value); static int64_t Increment64(int64_t* location); static int64_t Read(int64_t* location); static int32_t CompareExchange(int32_t* location1, int32_t value, int32_t comparand, bool* succeeded); }; } /* namespace Threading */ } /* namespace System */ } /* namespace mscorlib */ } /* namespace icalls */ } /* namespace il2cpp */