|
souffle
2.0.2-371-g6315b36
|
#include <UnionFind.h>

Public Member Functions | |
| void | clear () |
| Remove all elements from this disjoint set. More... | |
| bool | contains (SparseDomain v1, SparseDomain v2) |
| SparseDomain | findNode (SparseDomain x) |
| void | makeNode (SparseDomain val) |
| bool | nodeExists (const SparseDomain val) const |
| SparseDisjointSet & | operator= (SparseDisjointSet &&other)=delete |
| SparseDisjointSet & | operator= (SparseDisjointSet &other)=delete |
| bool | sameSet (SparseDomain x, SparseDomain y) |
| std::size_t | size () |
| SparseDisjointSet ()=default | |
| SparseDisjointSet (SparseDisjointSet &&other)=delete | |
| SparseDisjointSet (SparseDisjointSet &other)=delete | |
| parent_t | toDense (const SparseDomain in) |
| Retrieve dense encoding, adding it in if non-existent. More... | |
| const SparseDomain | toSparse (const parent_t in) const |
| For the given dense value, return the associated sparse value Undefined behaviour if dense value not in set. More... | |
| void | unionNodes (SparseDomain x, SparseDomain y) |
Private Types | |
| using | DenseMap = RandomInsertPiggyList< SparseDomain > |
| using | PairStore = std::pair< SparseDomain, parent_t > |
| using | SparseMap = LambdaBTreeSet< PairStore, std::function< parent_t(PairStore &)>, EqrelMapComparator< PairStore > > |
Private Attributes | |
| DenseMap | denseToSparseMap |
| DisjointSet | ds |
| SparseMap::operation_hints | last_ins |
| SparseMap | sparseToDenseMap |
Friends | |
| template<typename TupleType > | |
| class | EquivalenceRelation |
Definition at line 258 of file UnionFind.h.
|
private |
Definition at line 267 of file UnionFind.h.
|
private |
Definition at line 264 of file UnionFind.h.
|
private |
Definition at line 266 of file UnionFind.h.
|
default |
|
delete |
|
delete |
|
inline |
Remove all elements from this disjoint set.
Definition at line 338 of file UnionFind.h.
|
inline |
Definition at line 355 of file UnionFind.h.
|
inline |
Definition at line 323 of file UnionFind.h.
Referenced by souffle::EquivalenceRelation< Arity >::anteriorIt(), souffle::EquivalenceRelation< Arity >::antpostit(), and souffle::EquivalenceRelation< Arity >::upper_bound().
|
inline |
Definition at line 345 of file UnionFind.h.
Referenced by souffle::test::TEST().
|
inline |
Definition at line 351 of file UnionFind.h.
Referenced by souffle::EquivalenceRelation< Arity >::getBoundaries().
|
delete |
|
delete |
|
inline |
Definition at line 319 of file UnionFind.h.
Referenced by souffle::EquivalenceRelation< Arity >::anteriorIt().
|
inline |
Definition at line 331 of file UnionFind.h.
|
inline |
Retrieve dense encoding, adding it in if non-existent.
| in | the sparse value |
Definition at line 281 of file UnionFind.h.
Referenced by souffle::SparseDisjointSet< value_type >::clear().
|
inline |
For the given dense value, return the associated sparse value Undefined behaviour if dense value not in set.
| in | the supplied dense value |
Definition at line 314 of file UnionFind.h.
|
inline |
Definition at line 327 of file UnionFind.h.
Referenced by souffle::EquivalenceRelation< Arity >::insert().
|
friend |
Definition at line 262 of file UnionFind.h.
|
private |
Definition at line 273 of file UnionFind.h.
Referenced by souffle::SparseDisjointSet< value_type >::size().
|
private |
Definition at line 259 of file UnionFind.h.
Referenced by souffle::EqrelMapComparator< PairStore >::equal(), and souffle::SparseDisjointSet< value_type >::size().
|
private |
Definition at line 269 of file UnionFind.h.
|
private |
Definition at line 271 of file UnionFind.h.
Referenced by souffle::SparseDisjointSet< value_type >::makeNode(), and souffle::SparseDisjointSet< value_type >::size().
1.8.17