MeshLib C# Docs
Loading...
Searching...
No Matches
MR.UnionFind_MRUndirectedEdgeId Class Reference

Union-find data structure for representing disjoin sets of elements with few very quick operations: 1) union of two sets in one, 2) checking whether two elements pertain to the same set, 3) finding representative element (root) of each set by any set's element. More...

+ Inheritance diagram for MR.UnionFind_MRUndirectedEdgeId:

Public Member Functions

unsafe UnionFind_MRUndirectedEdgeId ()
 Constructs an empty (default-constructed) instance.
 
unsafe UnionFind_MRUndirectedEdgeId (MR._ByValue_UnionFind_MRUndirectedEdgeId _other)
 Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.
 
 UnionFind_MRUndirectedEdgeId (Const_UnionFind_MRUndirectedEdgeId _other)
 Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.
 
 UnionFind_MRUndirectedEdgeId (UnionFind_MRUndirectedEdgeId _other)
 Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.
 
unsafe UnionFind_MRUndirectedEdgeId (ulong size)
 creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.
 
unsafe MR.UnionFind_MRUndirectedEdgeId assign (MR._ByValue_UnionFind_MRUndirectedEdgeId _other)
 Generated from method MR.UnionFind<MR.UndirectedEdgeId>::operator=.
 
unsafe void reset (ulong size)
 resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR.UnionFind<MR.UndirectedEdgeId>::reset.
 
unsafe MR.Std.Pair_MRUndirectedEdgeId_Bool unite (MR.UndirectedEdgeId first, MR.UndirectedEdgeId second)
 unite two elements,
 
unsafe bool united (MR.UndirectedEdgeId first, MR.UndirectedEdgeId second)
 returns true if given two elements are from one set Generated from method MR.UnionFind<MR.UndirectedEdgeId>::united.
 
unsafe MR.UndirectedEdgeId find (MR.UndirectedEdgeId a)
 finds the root of the set containing given element with optimizing data structure updates Generated from method MR.UnionFind<MR.UndirectedEdgeId>::find.
 
unsafe MR.UndirectedEdgeId findUpdateRange (MR.UndirectedEdgeId a, MR.UndirectedEdgeId begin, MR.UndirectedEdgeId end)
 finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR.UnionFind<MR.UndirectedEdgeId>::findUpdateRange.
 
unsafe MR.Const_UndirectedEdgeMap roots ()
 sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR.UnionFind<MR.UndirectedEdgeId>::roots.
 
unsafe int sizeOfComp (MR.UndirectedEdgeId a)
 returns the number of elements in the set containing given element Generated from method MR.UnionFind<MR.UndirectedEdgeId>::sizeOfComp.
 

Detailed Description

Union-find data structure for representing disjoin sets of elements with few very quick operations: 1) union of two sets in one, 2) checking whether two elements pertain to the same set, 3) finding representative element (root) of each set by any set's element.

Template Parameters
Iis the identifier of a set's element, e.g. FaceId Generated from class MR.UnionFind<MR.UndirectedEdgeId>. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ UnionFind_MRUndirectedEdgeId() [1/5]

unsafe MR.UnionFind_MRUndirectedEdgeId.UnionFind_MRUndirectedEdgeId ( )
inline

Constructs an empty (default-constructed) instance.

◆ UnionFind_MRUndirectedEdgeId() [2/5]

unsafe MR.UnionFind_MRUndirectedEdgeId.UnionFind_MRUndirectedEdgeId ( MR._ByValue_UnionFind_MRUndirectedEdgeId _other)
inline

Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.

◆ UnionFind_MRUndirectedEdgeId() [3/5]

MR.UnionFind_MRUndirectedEdgeId.UnionFind_MRUndirectedEdgeId ( Const_UnionFind_MRUndirectedEdgeId _other)
inline

Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.

◆ UnionFind_MRUndirectedEdgeId() [4/5]

MR.UnionFind_MRUndirectedEdgeId.UnionFind_MRUndirectedEdgeId ( UnionFind_MRUndirectedEdgeId _other)
inline

Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.

◆ UnionFind_MRUndirectedEdgeId() [5/5]

unsafe MR.UnionFind_MRUndirectedEdgeId.UnionFind_MRUndirectedEdgeId ( ulong size)
inline

creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR.UnionFind<MR.UndirectedEdgeId>::UnionFind.

Member Function Documentation

◆ assign()

unsafe MR.UnionFind_MRUndirectedEdgeId MR.UnionFind_MRUndirectedEdgeId.assign ( MR._ByValue_UnionFind_MRUndirectedEdgeId _other)
inline

Generated from method MR.UnionFind<MR.UndirectedEdgeId>::operator=.

◆ find()

unsafe MR.UndirectedEdgeId MR.UnionFind_MRUndirectedEdgeId.find ( MR.UndirectedEdgeId a)
inline

finds the root of the set containing given element with optimizing data structure updates Generated from method MR.UnionFind<MR.UndirectedEdgeId>::find.

◆ findUpdateRange()

unsafe MR.UndirectedEdgeId MR.UnionFind_MRUndirectedEdgeId.findUpdateRange ( MR.UndirectedEdgeId a,
MR.UndirectedEdgeId begin,
MR.UndirectedEdgeId end )
inline

finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR.UnionFind<MR.UndirectedEdgeId>::findUpdateRange.

◆ reset()

unsafe void MR.UnionFind_MRUndirectedEdgeId.reset ( ulong size)
inline

resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR.UnionFind<MR.UndirectedEdgeId>::reset.

◆ roots()

unsafe MR.Const_UndirectedEdgeMap MR.UnionFind_MRUndirectedEdgeId.roots ( )
inline

sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR.UnionFind<MR.UndirectedEdgeId>::roots.

◆ sizeOfComp()

unsafe int MR.UnionFind_MRUndirectedEdgeId.sizeOfComp ( MR.UndirectedEdgeId a)
inline

returns the number of elements in the set containing given element Generated from method MR.UnionFind<MR.UndirectedEdgeId>::sizeOfComp.

◆ unite()

unsafe MR.Std.Pair_MRUndirectedEdgeId_Bool MR.UnionFind_MRUndirectedEdgeId.unite ( MR.UndirectedEdgeId first,
MR.UndirectedEdgeId second )
inline

unite two elements,

Returns
first: new common root, second: true = union was done, false = first and second were already united Generated from method MR.UnionFind<MR.UndirectedEdgeId>::unite.

◆ united()

unsafe bool MR.UnionFind_MRUndirectedEdgeId.united ( MR.UndirectedEdgeId first,
MR.UndirectedEdgeId second )
inline

returns true if given two elements are from one set Generated from method MR.UnionFind<MR.UndirectedEdgeId>::united.


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