Navigation
API > API/Runtime > API/Runtime/Core
Read write multithread access detector, will check on concurrent write/write and read/write access, but will not on concurrent read access. Note this detector is not re-entrant, see FRWRecursiveAccessDetector and FRWFullyRecursiveAccessDetector. But FRWAccessDetector should be the default one to start with.
| Name | FRWAccessDetector |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/Misc/MTAccessDetector.h |
| Include Path | #include "Misc/MTAccessDetector.h" |
Syntax
struct FRWAccessDetector
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Misc/MTAccessDetector.h | |||
FRWAccessDetector
(
FRWAccessDetector&& Other |
Misc/MTAccessDetector.h | ||
FRWAccessDetector
(
const FRWAccessDetector& Other |
Misc/MTAccessDetector.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FRWAccessDetector() |
Misc/MTAccessDetector.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| WriterBits | uint32 | We need to do an atomic operation to know there are multiple writers, this is why we reserve more than one bit for them. | Misc/MTAccessDetector.h |
| WriterIncrementValue | uint32 | Misc/MTAccessDetector.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AcquireReadAccess() |
Acquires read access, will check if there are any writers | Misc/MTAccessDetector.h | |
bool AcquireWriteAccess() |
Acquires write access, will check if there are readers or other writers | Misc/MTAccessDetector.h | |
bool ReleaseReadAccess() |
Releases read access, will check if there are any writers | Misc/MTAccessDetector.h | |
bool ReleaseWriteAccess() |
Releases write access, will check if there are readers or other writers | Misc/MTAccessDetector.h | |
bool UpgradeReadAccessToWriteAccess() |
Upgrades a previously taken AcquireReadAccess_ to AcquireWriteAccess_, and will check if there are other readers or writers |
Misc/MTAccessDetector.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRWAccessDetector & operator=
(
FRWAccessDetector&& Other |
Misc/MTAccessDetector.h | ||
FRWAccessDetector & operator=
(
const FRWAccessDetector& Other |
Misc/MTAccessDetector.h |