Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
AllowWindowsPlatformAtomics.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3// #TODO: redirect to platform-agnostic version for the time being. Eventually this will become an error
4#include "HAL/Platform.h"
6 #include "Microsoft/AllowMicrosoftPlatformAtomics.h"
7#else
8
9#ifndef WINDOWS_PLATFORM_ATOMICS_GUARD
10 #define WINDOWS_PLATFORM_ATOMICS_GUARD
11#else
12 #error Nesting AllowWindowsPlatformAtomics.h is not allowed!
13#endif
14
15#define InterlockedIncrement _InterlockedIncrement
16#define InterlockedDecrement _InterlockedDecrement
17#if !defined(InterlockedAdd)
18 #define InterlockedAdd _InterlockedAdd
19#endif
20#define InterlockedExchange _InterlockedExchange
21#define InterlockedExchangeAdd _InterlockedExchangeAdd
22#define InterlockedCompareExchange _InterlockedCompareExchange
23#define InterlockedAnd _InterlockedAnd
24#define InterlockedOr _InterlockedOr
25#define InterlockedXor _InterlockedXor
26
28 #define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
29#else
30 #define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer
31#endif
32
34 #define InterlockedExchange64 _InterlockedExchange64
35 #define InterlockedExchangeAdd64 _InterlockedExchangeAdd64
36 #define InterlockedCompareExchange64 _InterlockedCompareExchange64
37 #define InterlockedIncrement64 _InterlockedIncrement64
38 #define InterlockedDecrement64 _InterlockedDecrement64
39#endif
40
41#endif //PLATFORM_*
#define PLATFORM_WINDOWS
Definition Platform.h:4
#define PLATFORM_64BITS