UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IntrusiveUniqueLock.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
7#include <atomic>
8
9namespace UE
10{
11
16template <UE::CIntrusiveMutexParams ParamsType>
18{
20
21public:
24
25 [[nodiscard]] explicit TIntrusiveUniqueLock(std::atomic<StateType>& InState)
26 : State(InState)
27 {
29 }
30
35
36private:
37 std::atomic<StateType>& State;
38};
39
40} // namespace UE
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Unlock()
Definition ExternalMutex.h:51
void Lock()
Definition ExternalMutex.h:46
Definition IntrusiveUniqueLock.h:18
TIntrusiveUniqueLock & operator=(TIntrusiveUniqueLock &NoAssignment)=delete
~TIntrusiveUniqueLock()
Definition IntrusiveUniqueLock.h:31
TIntrusiveUniqueLock(TIntrusiveUniqueLock &NoCopyConstruction)=delete
TIntrusiveUniqueLock(std::atomic< StateType > &InState)
Definition IntrusiveUniqueLock.h:25
Definition AdvancedWidgetsModule.cpp:13
std::decay_t< decltype(ParamsType::IsLockedFlag)> TIntrusiveMutexStateType_T
Definition IntrusiveMutex.h:19