proxygen
|
#include <HazptrSWMRSet.h>
Classes | |
struct | Node |
struct | Reclaimer |
Public Member Functions | |
HazptrSWMRSet () | |
~HazptrSWMRSet () | |
bool | add (T v) |
bool | remove (const T &v) |
bool | contains (const T &val) const |
Private Member Functions | |
void | locate_lower_bound (const T &v, Atom< Node * > *&prev) const |
Private Attributes | |
Atom< Node * > | head_ {nullptr} |
Set implemented as an ordered singly-linked list.
A single writer thread may add or remove elements. Multiple reader threads may search the set concurrently with each other and with the writer's operations.
Definition at line 31 of file HazptrSWMRSet.h.
|
inline |
Definition at line 49 of file HazptrSWMRSet.h.
|
inline |
Definition at line 51 of file HazptrSWMRSet.h.
References folly::HazptrSWMRSet< T, Atom >::head_, and cpp.ast::next().
|
inline |
Definition at line 60 of file HazptrSWMRSet.h.
References folly::HazptrSWMRSet< T, Atom >::head_, folly::HazptrSWMRSet< T, Atom >::locate_lower_bound(), and folly::gen::move.
Referenced by swmr_test().
|
inline |
Definition at line 88 of file HazptrSWMRSet.h.
References folly::HazptrSWMRSet< T, Atom >::head_, cpp.ast::next(), folly::f14::swap(), and folly::hazptr_holder< Atom >::try_protect().
Referenced by swmr_test().
|
inlineprivate |
Definition at line 121 of file HazptrSWMRSet.h.
Referenced by folly::HazptrSWMRSet< T, Atom >::add(), and folly::HazptrSWMRSet< T, Atom >::remove().
|
inline |
Definition at line 71 of file HazptrSWMRSet.h.
References folly::HazptrSWMRSet< T, Atom >::head_, folly::HazptrSWMRSet< T, Atom >::locate_lower_bound(), and folly::HazptrSWMRSet< T, Atom >::Node::next_.
Referenced by swmr_test().
|
private |
Definition at line 46 of file HazptrSWMRSet.h.
Referenced by folly::HazptrSWMRSet< T, Atom >::add(), folly::HazptrSWMRSet< T, Atom >::contains(), folly::HazptrSWMRSet< T, Atom >::remove(), and folly::HazptrSWMRSet< T, Atom >::~HazptrSWMRSet().