Navigation
API > API/Runtime > API/Runtime/Core > API/Runtime/Core/Misc
Inheritance Hierarchy
- FRWAccessDetector
- FRWRecursiveAccessDetector
- FRWFullyRecursiveAccessDetector
References
| Module | Core |
| Header | /Engine/Source/Runtime/Core/Public/Misc/MTAccessDetector.h |
| Include | #include "Misc/MTAccessDetector.h" |
Syntax
struct FRWAccessDetector
Remarks
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.
Variables
| Type | Name | Description | |
|---|---|---|---|
| std::atomic< uint32 > | AtomicValue |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FRWAccessDetector
(
FRWAccessDetector&& Other |
|||
FRWAccessDetector
(
const FRWAccessDetector& Other |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Acquires read access, will check if there are any writers | ||
| bool | Acquires write access, will check if there are readers or other writers | ||
| bool | Releases read access, will check if there are any writers | ||
| bool | Releases write access, will check if there are readers or other writers |
Operators
| Type | Name | Description | |
|---|---|---|---|
| FRWAccessDetector & | operator=
(
FRWAccessDetector&& Other |
||
| FRWAccessDetector & | operator=
(
const FRWAccessDetector& Other |
Constants
| Name | Description |
|---|---|
| WriterBits | We need to do an atomic operation to know there are multiple writers, this is why we reserve more than one bit for them. |
| WriterIncrementValue |