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

#include <SharedLock.h>

Public Member Functions

 TDynamicSharedLock ()=default
 
 TDynamicSharedLock (const TDynamicSharedLock &)=delete
 
TDynamicSharedLockoperator= (const TDynamicSharedLock &)=delete
 
 TDynamicSharedLock (LockType &Lock)
 
 TDynamicSharedLock (LockType &Lock, FDeferLock)
 
 TDynamicSharedLock (TDynamicSharedLock &&Other)
 
TDynamicSharedLockoperator= (TDynamicSharedLock &&Other)
 
 ~TDynamicSharedLock ()
 
bool TryLock ()
 
void Lock ()
 
void Unlock ()
 
bool OwnsLock () const
 
 operator bool () const
 

Detailed Description

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

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

LockType must contain LockShared() and UnlockShared() functions.

Use with mutex types like FSharedMutex and FSharedRecursiveMutex.

Constructor & Destructor Documentation

◆ TDynamicSharedLock() [1/5]

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

◆ TDynamicSharedLock() [2/5]

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

◆ TDynamicSharedLock() [3/5]

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

Wrap a mutex and lock it in shared mode.

◆ TDynamicSharedLock() [4/5]

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

Wrap a mutex without locking it in shared mode.

◆ TDynamicSharedLock() [5/5]

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

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

◆ ~TDynamicSharedLock()

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

Unlock the mutex if locked.

Member Function Documentation

◆ Lock()

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

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

◆ operator bool()

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

Returns true if this lock has its associated mutex locked.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

template<typename LockType >
TDynamicSharedLock & UE::TDynamicSharedLock< LockType >::operator= ( TDynamicSharedLock< 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::TDynamicSharedLock< LockType >::OwnsLock ( ) const
inline

Returns true if this lock has its associated mutex locked.

◆ TryLock()

template<typename LockType >
bool UE::TDynamicSharedLock< LockType >::TryLock ( )
inline

Try to lock the associated mutex in shared mode. This lock must have a mutex and must not be locked.

◆ Unlock()

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

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


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