Galois
|
Intrusive union-find implementation. More...
#include <UnionFind.h>
Public Types | |
typedef UnionFindNode< T > | SuperTy |
Public Member Functions | |
bool | isRep () const |
T * | get () const |
const T * | find () const |
T * | find () |
void | compress () |
Compress ONLY node to point directly to the root of the tree; nodes on path are not altered. More... | |
T * | findAndCompress () |
T * | merge (T *b) |
Lock-free merge. Returns if merge was done. More... | |
Protected Member Functions | |
UnionFindNode (T *s) | |
Protected Attributes | |
std::atomic< T * > | m_component |
Intrusive union-find implementation.
Users subclass this to get disjoint functionality for the subclass object.
typedef UnionFindNode<T> galois::UnionFindNode< T >::SuperTy |
|
inlineprotected |
|
inline |
Compress ONLY node to point directly to the root of the tree; nodes on path are not altered.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Lock-free merge. Returns if merge was done.
|
protected |