hazptr_obj_base_linked

Synopsis

Declared in <folly/synchronization/HazptrObjLinked.h>

template<
    typename T,
    template<
    typename,
    typename,
    typename> typename Atom = atomic,
    typename Deleter = std::default_delete<T>>
class hazptr_obj_base_linked
    : public hazptr_obj_linked<Atom>
    , public hazptr_deleter<T, D>

Base Classes

Name

Description

hazptr_obj_linked<Atom>

hazptr_obj_linked

hazptr_deleter<T, D>

hazptr_deleter

Member Functions

Name

Description

operator=

Assignment operators

acquire_link

Increments the link count (thread‐safe).

acquire_link_safe

Increments the link count; caller must guarantee thread safety.

acquire_ref

Increments the ref count (thread‐safe).

acquire_ref_safe

Increments the ref count; caller must guarantee thread safety.

cohort

Returns the cohort the object is associated with, if any.

cohort_tag

Returns the raw cohort tag, including the tag bit.

delete_obj

Deletes an object using the stored deleter.

retire

Retires the object, handing reclamation to the hazard pointer library.

set_cohort_no_tag

Sets the cohort and makes the object untagged.

set_cohort_tag

Sets the cohort and makes the object tagged.

set_deleter

Sets the deleter used to reclaim objects.

tagged

Reports whether the object is tagged.

unlink

Retires the object if its last link has been released.

unlink_and_reclaim_unchecked

Reclaims the object if the last link is released, without checking hazard pointers.

Created with MrDocs