35#define UE_DECLARE_THREAD_SINGLETON_TLS(Type, Api) template<> Api uint32& TThreadSingleton<Type>::GetTlsSlot();
36#define UE_DEFINE_THREAD_SINGLETON_TLS(Type, Api) template<> Api uint32& TThreadSingleton<Type>::GetTlsSlot() { static uint32 TlsSlot = FPlatformTLS::InvalidTlsSlot; return TlsSlot; }
45#if PLATFORM_UNIX || PLATFORM_APPLE
58#if PLATFORM_CONSOLE_DYNAMIC_LINK
61 static uint32& GetTlsSlot()
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ThreadSingleton.h:16
static CORE_API FTlsAutoCleanup * Get(TFunctionRef< FTlsAutoCleanup *()> CreateInstance, uint32 &TlsSlot)
Definition ThreadingBase.cpp:1481
static CORE_API FTlsAutoCleanup * TryGet(uint32 &TlsSlot)
Definition ThreadingBase.cpp:1515
static CORE_API FTlsAutoCleanup * Inject(FTlsAutoCleanup *Instance, uint32 &TlsSlot)
Definition ThreadingBase.cpp:1526
Definition TlsAutoCleanup.h:12
Definition AssetRegistryState.h:50
Definition ThreadSingleton.h:44
virtual ~TThreadSingleton()
Definition ThreadSingleton.h:75
static FTlsAutoCleanup * CreateInstance()
Definition ThreadSingleton.h:88
static FORCEINLINE T & Get(TFunctionRef< FTlsAutoCleanup *()> CreateInstance)
Definition ThreadSingleton.h:110
const uint32 ThreadId
Definition ThreadSingleton.h:94
static FORCEINLINE T * Inject(T *Instance)
Definition ThreadSingleton.h:126
static FORCEINLINE T * TryGet()
Definition ThreadSingleton.h:118
TThreadSingleton()
Definition ThreadSingleton.h:71
static FORCEINLINE T & Get()
Definition ThreadSingleton.h:101
Definition AndroidPlatformTLS.h:16
static UE_FORCEINLINE_HINT void * GetTlsValue(uint32 SlotIndex)
Definition AndroidPlatformTLS.h:57
static UE_FORCEINLINE_HINT void SetTlsValue(uint32 SlotIndex, void *Value)
Definition AndroidPlatformTLS.h:47