Navigation
API > API/Runtime > API/Runtime/Core
THazardPointer is used to keep an allocation alive until all threads that referenced it finished their access
| Name | THazardPointer |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Experimental/Containers/HazardPointer.h |
| Include Path | #include "Experimental/Containers/HazardPointer.h" |
Syntax
template<typename H, bool Cached>
class THazardPointer
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Experimental/Containers/HazardPointer.h | |||
THazardPointer
(
const THazardPointer& |
Experimental/Containers/HazardPointer.h | ||
THazardPointer
(
THazardPointer&& Other |
Experimental/Containers/HazardPointer.h | ||
THazardPointer
(
std::atomic< H* >& InHazard, |
Experimental/Containers/HazardPointer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~THazardPointer() |
Experimental/Containers/HazardPointer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Hazard | std::atomic< H * > * | Experimental/Containers/HazardPointer.h | ||
| Record | FHazardPointerCollection::FHazardRecord * | Experimental/Containers/HazardPointer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Destroy() |
Use with care, because the Hazardpointer will not protect anymore and needs to be recreated | Experimental/Containers/HazardPointer.h | |
H * Get() |
Experimental/Containers/HazardPointer.h | ||
bool IsValid() |
Experimental/Containers/HazardPointer.h | ||
void Retire() |
Retireing can be used to release the hazardpointer without reaquiring a new Hazardslot in the Collection | Experimental/Containers/HazardPointer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
THazardPointer & operator=
(
const THazardPointer& |
Experimental/Containers/HazardPointer.h | ||
THazardPointer & operator=
(
THazardPointer&& Other |
Experimental/Containers/HazardPointer.h |