UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::TIntrusiveMutex< ParamsType > Class Template Reference

#include <IntrusiveMutex.h>

Static Public Member Functions

static FORCEINLINE bool IsLocked (const std::atomic< StateType > &State)
 
static FORCEINLINE bool TryLock (std::atomic< StateType > &State)
 
static FORCEINLINE void Lock (std::atomic< StateType > &State)
 
static FORCEINLINE void LockLoop (std::atomic< StateType > &State)
 
static FORCEINLINE void Unlock (std::atomic< StateType > &State)
 
static FORCEINLINE void WakeWaitingThread (std::atomic< StateType > &State)
 
static FORCEINLINE bool TryWakeWaitingThread (std::atomic< StateType > &State)
 

Detailed Description

template<CIntrusiveMutexParams ParamsType>
class UE::TIntrusiveMutex< ParamsType >

A 2-bit intrusive mutex that is not fair and does not support recursive locking.

All bits of the state referenced by IsLockedFlag, IsLockedMask, and MayHaveWaitingLockFlag must be initialized to 0 or to values that are consistent with the functions being called.

Member Function Documentation

◆ IsLocked()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE bool UE::TIntrusiveMutex< ParamsType >::IsLocked ( const std::atomic< StateType > &  State)
inlinestatic

◆ Lock()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE void UE::TIntrusiveMutex< ParamsType >::Lock ( std::atomic< StateType > &  State)
inlinestatic

◆ LockLoop()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE void UE::TIntrusiveMutex< ParamsType >::LockLoop ( std::atomic< StateType > &  State)
inlinestatic

◆ TryLock()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE bool UE::TIntrusiveMutex< ParamsType >::TryLock ( std::atomic< StateType > &  State)
inlinestatic

◆ TryWakeWaitingThread()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE bool UE::TIntrusiveMutex< ParamsType >::TryWakeWaitingThread ( std::atomic< StateType > &  State)
inlinestatic

◆ Unlock()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE void UE::TIntrusiveMutex< ParamsType >::Unlock ( std::atomic< StateType > &  State)
inlinestatic

◆ WakeWaitingThread()

template<CIntrusiveMutexParams ParamsType>
static FORCEINLINE void UE::TIntrusiveMutex< ParamsType >::WakeWaitingThread ( std::atomic< StateType > &  State)
inlinestatic

The documentation for this class was generated from the following file: