Containers

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public class

DequeueHazard

Public class

EnqueueHazard

Public class

FHashElementId

Public class

FHashType

Public class

FHazardDeleter

FHazardDeleter is used to erase the type of a class so that we can call the correct destructor

Public class

FHazardPointerCollection

FHazardPointerCollection is a collection that is used to aquire a Hazardpointer

Public struct

FUnitType

Private struct

Node

Public class

TFreeList

Public class

TGrowOnlyLockFreeHash

Hash table with fast lock free reads, that only supports insertion of items, and no modification of values.

Public class

THazardPointer

THazardPointer is used to keep an allocation alive until all threads that referenced it finished their access

Public class

TKeyValue

Public class

TRobinHoodHashMap

Public class

TRobinHoodHashSet

Public class

TRobinHoodHashTable

Public struct

TSherwoodHashKeyFuncs

Public struct

TSherwoodHashTable

Implementation of Robin Hood hash table based on sherwood_v3_table by Malte Skarupke.

Public struct

TSherwoodMap

Public struct

TSherwoodSet

Functions

Name Description

Public function

 

~FAAArrayQueue()

Private function

bool

 

casHead

(
    Node* cmp,
    Node* val
)

Private function

bool

 

casTail

(
    Node* cmp,
    Node* val
)

Public function

T *

 

dequeue()

Public function

T *

 

dequeue

(
    DequeueHazard& Hazard
)

Private function

T *

 

dequeueInternal

(
    HazardType& Hazard
)

Public function

void

 

enqueue

(
    T* item
)

Public function

void

 

enqueue

(
    T* item,
    EnqueueHazard& Hazard
)

Private function

void

 

enqueueInternal

(
    T* item,
    HazardType& Hazard
)

Public function

 

FAAArrayQueue()

Public function

DequeueHazar...

 

getHeadHazard()

Public function

EnqueueHazar...

 

getTailHazard()

Private function Static

T *

 

GetTakenPointer()

Public function

THazardPoint...

 

MakeHazardPointer

(
    std::atomic< H* >& InHazard,
    FHazardPointerCollection& Collecti...
)

Variables

Name Description

Public variable

Dequeue

 

algorithm

Fetch-And-Add Array Queue

Public variable

Dequeue taken

 

Consistency

Public variable

Dequeue taken

 

Fast

Private variable

FHazardPointerC...

 

Hazards

Private variable

std::atomic< No...

 

head

Pointers to head and tail of the list.

Public variable

Dequeue taken a...

 

Pointers

Private variable

std::atomic< No...

 

tail