MeshLib C# Docs
Loading...
Searching...
No Matches

Union-find data structure for representing disjoint 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. Sequential implementation that selects the root of a united pair by set size for best performance. More...

Inheritance diagram for MR.Const_UnionFind_MRVertId:

Classes

struct  _Underlying

Public Member Functions

virtual void Dispose ()
unsafe Const_UnionFind_MRVertId ()
 Constructs an empty (default-constructed) instance.
unsafe Const_UnionFind_MRVertId (MR._ByValue_UnionFind_MRVertId _other)
 Generated from constructor MR::UnionFind<MR.VertId>::UnionFind.
 Const_UnionFind_MRVertId (Const_UnionFind_MRVertId _other)
 Generated from constructor MR::UnionFind<MR.VertId>::UnionFind.
 Const_UnionFind_MRVertId (UnionFind_MRVertId _other)
 Generated from constructor MR::UnionFind<MR.VertId>::UnionFind.
unsafe Const_UnionFind_MRVertId (nuint 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.VertId>::UnionFind.
unsafe Const_UnionFind_MRVertId (MR.Misc._Moved< MR.BaseUnionFind_MRVertId > base_)
 adopts the parent forest of a base/parallel union-find and (re)computes set sizes, so the result supports the full sequential interface (e.g. unite, sizeOfComp) Generated from constructor MR::UnionFind&lt;MR.VertId&gt;::UnionFind.
unsafe nuint size ()
 returns the number of elements in union-find Generated from method MR::UnionFind&lt;MR.VertId&gt;size.
unsafe bool isRoot (MR.VertId a)
 returns true if given element is the root of some set Generated from method MR::UnionFind&lt;MR.VertId&gt;isRoot.
unsafe MR.VertId parent (MR.VertId a)
 return parent element of this element, which is equal to given element only for set's root Generated from method MR::UnionFind&lt;MR.VertId&gt;parent.
unsafe MR.Const_VertMap parents ()
 gets the parents of all elements as is Generated from method MR::UnionFind&lt;MR.VertId&gt;parents.

Static Public Member Functions

static unsafe implicit operator MR.Const_BaseUnionFind_MRVertId (Const_UnionFind_MRVertId self)

Protected Member Functions

virtual unsafe void Dispose (bool disposing)

Detailed Description

Union-find data structure for representing disjoint 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. Sequential implementation that selects the root of a united pair by set size for best performance.

Template Parameters
Iis the identifier of a set's element, e.g. FaceId Generated from class MR::UnionFind&lt;MR.VertId&gt;. Base classes: Direct: (non-virtual) MR::BaseUnionFind&lt;MR.VertId&gt; This is the const half of the class.

Constructor & Destructor Documentation

◆ Const_UnionFind_MRVertId() [1/6]

unsafe MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( )
inline

Constructs an empty (default-constructed) instance.

◆ Const_UnionFind_MRVertId() [2/6]

unsafe MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( MR._ByValue_UnionFind_MRVertId _other)
inline

Generated from constructor MR::UnionFind&lt;MR.VertId&gt;::UnionFind.

◆ Const_UnionFind_MRVertId() [3/6]

MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( Const_UnionFind_MRVertId _other)
inline

Generated from constructor MR::UnionFind&lt;MR.VertId&gt;::UnionFind.

◆ Const_UnionFind_MRVertId() [4/6]

MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( UnionFind_MRVertId _other)
inline

Generated from constructor MR::UnionFind&lt;MR.VertId&gt;::UnionFind.

◆ Const_UnionFind_MRVertId() [5/6]

unsafe MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( nuint 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&lt;MR.VertId&gt;::UnionFind.

◆ Const_UnionFind_MRVertId() [6/6]

unsafe MR.Const_UnionFind_MRVertId.Const_UnionFind_MRVertId ( MR.Misc._Moved< MR.BaseUnionFind_MRVertId > base_)
inline

adopts the parent forest of a base/parallel union-find and (re)computes set sizes, so the result supports the full sequential interface (e.g. unite, sizeOfComp) Generated from constructor MR::UnionFind&lt;MR.VertId&gt;::UnionFind.

Member Function Documentation

◆ Dispose() [1/2]

virtual void MR.Const_UnionFind_MRVertId.Dispose ( )
inlinevirtual

◆ Dispose() [2/2]

virtual unsafe void MR.Const_UnionFind_MRVertId.Dispose ( bool disposing)
inlineprotectedvirtual

◆ isRoot()

unsafe bool MR.Const_UnionFind_MRVertId.isRoot ( MR.VertId a)
inline

returns true if given element is the root of some set Generated from method MR::UnionFind&lt;MR.VertId&gt;isRoot.

◆ operator MR.Const_BaseUnionFind_MRVertId()

unsafe implicit MR.Const_UnionFind_MRVertId.operator MR.Const_BaseUnionFind_MRVertId ( Const_UnionFind_MRVertId self)
inlinestatic

◆ parent()

unsafe MR.VertId MR.Const_UnionFind_MRVertId.parent ( MR.VertId a)
inline

return parent element of this element, which is equal to given element only for set's root Generated from method MR::UnionFind&lt;MR.VertId&gt;parent.

◆ parents()

unsafe MR.Const_VertMap MR.Const_UnionFind_MRVertId.parents ( )
inline

gets the parents of all elements as is Generated from method MR::UnionFind&lt;MR.VertId&gt;parents.

◆ size()

unsafe nuint MR.Const_UnionFind_MRVertId.size ( )
inline

returns the number of elements in union-find Generated from method MR::UnionFind&lt;MR.VertId&gt;size.


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