UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::TDynamicUniqueLock< LockType > Class Template Referencefinal

#include <UniqueLock.h>

Public Member Functions

 TDynamicUniqueLock ()=default
 
 TDynamicUniqueLock (const TDynamicUniqueLock &)=delete
 
TDynamicUniqueLockoperator= (const TDynamicUniqueLock &)=delete
 
 TDynamicUniqueLock (LockType &Lock)
 
 TDynamicUniqueLock (LockType &Lock, FDeferLock)
 
 TDynamicUniqueLock (TDynamicUniqueLock &&Other)
 
TDynamicUniqueLockoperator= (TDynamicUniqueLock &&Other)
 
 ~TDynamicUniqueLock ()
 
void Lock ()
 
void Unlock ()
 
bool OwnsLock () const
 
 operator bool () const
 

Detailed Description

template<typename LockType>
class UE::TDynamicUniqueLock< LockType >

A mutex ownership wrapper that allows dynamic locking, unlocking, and deferred locking.

LockType must contain Lock() and Unlock() functions.

Use with mutex types like FMutex and FRecursiveMutex.

Constructor & Destructor Documentation

◆ TDynamicUniqueLock() [1/5]

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::TDynamicUniqueLock ( )
default

◆ TDynamicUniqueLock() [2/5]

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::TDynamicUniqueLock ( const TDynamicUniqueLock< LockType > &  )
delete

◆ TDynamicUniqueLock() [3/5]

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::TDynamicUniqueLock ( LockType &  Lock)
inlineexplicit

Wrap a mutex and lock it.

◆ TDynamicUniqueLock() [4/5]

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::TDynamicUniqueLock ( LockType &  Lock,
FDeferLock   
)
inlineexplicit

Wrap a mutex without locking it.

◆ TDynamicUniqueLock() [5/5]

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::TDynamicUniqueLock ( TDynamicUniqueLock< LockType > &&  Other)
inline

Move from another lock, transferring any ownership to this lock.

◆ ~TDynamicUniqueLock()

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::~TDynamicUniqueLock ( )
inline

Unlock the mutex if locked.

Member Function Documentation

◆ Lock()

template<typename LockType >
void UE::TDynamicUniqueLock< LockType >::Lock ( )
inline

Lock the associated mutex. This lock must have a mutex and must not be locked.

◆ operator bool()

template<typename LockType >
UE::TDynamicUniqueLock< LockType >::operator bool ( ) const
inlineexplicit

Returns true if this lock has its associated mutex locked.

◆ operator=() [1/2]

template<typename LockType >
TDynamicUniqueLock & UE::TDynamicUniqueLock< LockType >::operator= ( const TDynamicUniqueLock< LockType > &  )
delete

◆ operator=() [2/2]

template<typename LockType >
TDynamicUniqueLock & UE::TDynamicUniqueLock< LockType >::operator= ( TDynamicUniqueLock< LockType > &&  Other)
inline

Move from another lock, transferring any ownership to this lock, and unlocking the previous mutex if locked.

◆ OwnsLock()

template<typename LockType >
bool UE::TDynamicUniqueLock< LockType >::OwnsLock ( ) const
inline

Returns true if this lock has its associated mutex locked.

◆ Unlock()

template<typename LockType >
void UE::TDynamicUniqueLock< LockType >::Unlock ( )
inline

Unlock the associated mutex. This lock must have a mutex and must be locked.


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