UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ApplePlatformAtomics.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================================
4 ApplePlatformAtomics.h: Apple platform Atomics functions
5==============================================================================================*/
6
7#pragma once
9#include "CoreTypes.h"
11
13
17struct CORE_API FApplePlatformAtomics : public FClangPlatformAtomics
18{
19#if PLATFORM_HAS_128BIT_ATOMICS
21 {
22 __uint128_t* Expected = ((__uint128_t*)Comparand);
24 return __atomic_compare_exchange_16((volatile __uint128_t*)Dest, Expected, Desired, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
25 }
26
31 static FORCEINLINE bool CanUseCompareExchange128()
32 {
33 return true;
34 }
35#endif
36};
37
39
41
#define FORCEINLINE
Definition AndroidPlatform.h:140
PRAGMA_ENABLE_DEPRECATION_WARNINGS typedef FApplePlatformAtomics FPlatformAtomics
Definition ApplePlatformAtomics.h:40
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
UE_REWRITE constexpr void Exchange(T &A, T &B)
Definition UnrealTemplate.h:627
Definition ApplePlatformAtomics.h:18