CNum 0.2.1
CPU-optimized ML library for C++
Loading...
Searching...
No Matches
CNum::DataStructs::HazardPointer::HazardPtrDomain Class Reference

The domain of all hazard pointers. More...

#include <HazardPointer.h>

Public Member Functions

HazardSlotacquire_hazard_slot ()
 Acquire ownership of a slot to protect a hazard pointer.
void release_hazard_slot (HazardSlot *slot)
 Release ownership of a hazard pointer slot.
void hazard_slots_gather (::std::vector< void * > &out)
 Get all active hazard pointer slots.

Static Public Member Functions

static HazardPtrDomain * get_domain ()
 Get a pointer to the instance of the HazardPtrDomain singleton.

Detailed Description

The domain of all hazard pointers.

Member Function Documentation

◆ acquire_hazard_slot()

HazardSlot * CNum::DataStructs::HazardPointer::HazardPtrDomain::acquire_hazard_slot ( )

Acquire ownership of a slot to protect a hazard pointer.

Used by the thread local HazardPtrGuard objects

Returns
A raw pointer to an available HazardSlot

◆ get_domain()

HazardPtrDomain * CNum::DataStructs::HazardPointer::HazardPtrDomain::get_domain ( )
static

Get a pointer to the instance of the HazardPtrDomain singleton.

Returns
A raw pointer the instance

◆ hazard_slots_gather()

void CNum::DataStructs::HazardPointer::HazardPtrDomain::hazard_slots_gather ( ::std::vector< void * > & out)

Get all active hazard pointer slots.

Used in scan()

◆ release_hazard_slot()

void CNum::DataStructs::HazardPointer::HazardPtrDomain::release_hazard_slot ( HazardSlot * slot)

Release ownership of a hazard pointer slot.

Used by the thread local HazardPtrGuard objects


The documentation for this class was generated from the following file: