Class LinksSourcesAvlBalancedTreeMethods<TLinkAddress>

Namespace
Platform.Data.Doublets.Memory.United.Generic
Assembly
Platform.Data.Doublets.dll

Represents the links sources avl balanced tree methods.

public class LinksSourcesAvlBalancedTreeMethods<TLinkAddress> : LinksAvlBalancedTreeMethodsBase<TLinkAddress>, ILinksTreeMethods<TLinkAddress> where TLinkAddress : IUnsignedNumber<TLinkAddress>, IShiftOperators<TLinkAddress, int, TLinkAddress>, IBitwiseOperators<TLinkAddress, TLinkAddress, TLinkAddress>, IMinMaxValue<TLinkAddress>, IComparisonOperators<TLinkAddress, TLinkAddress, bool>

Type Parameters

TLinkAddress
Inheritance
SizedBinaryTreeMethodsBase<TLinkAddress>
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>
LinksSourcesAvlBalancedTreeMethods<TLinkAddress>
Implements
ILinksTreeMethods<TLinkAddress>
Inherited Members
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetRightest(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetLeftest(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.Contains(TLinkAddress, TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.IncrementBalance(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.DecrementBalance(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetLeftOrDefault(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetRightOrDefault(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.AttachCore(ref TLinkAddress, TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.LeftRotateWithBalance(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.RightRotateWithBalance(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetNext(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.GetPrevious(TLinkAddress)
SizedAndThreadedAVLBalancedTreeMethods<TLinkAddress>.DetachCore(ref TLinkAddress, TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.IncrementSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.DecrementSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.GetLeftSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.GetRightSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.GetSizeOrZero(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.FixSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.LeftRotate(ref TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.LeftRotate(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.RightRotate(ref TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.RightRotate(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.Attach(ref TLinkAddress, TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.BeforeAttach()
SizedBinaryTreeMethodsBase<TLinkAddress>.AfterAttach()
SizedBinaryTreeMethodsBase<TLinkAddress>.Detach(ref TLinkAddress, TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.FixSizes(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.ValidateSizes(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.ValidateSize(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.PrintNodes(TLinkAddress)
SizedBinaryTreeMethodsBase<TLinkAddress>.PrintNode(TLinkAddress)

Constructors

LinksSourcesAvlBalancedTreeMethods(LinksConstants<TLinkAddress>, byte*, byte*)

public LinksSourcesAvlBalancedTreeMethods(LinksConstants<TLinkAddress> constants, byte* links, byte* header)

Parameters

constants LinksConstants<TLinkAddress>

A constants.

links byte*

A links.

header byte*

A header.

Methods

ClearNode(TLinkAddress)

Clears the node using the specified node.

protected override void ClearNode(TLinkAddress node)

Parameters

node TLinkAddress

The node.

FirstIsToTheLeftOfSecond(TLinkAddress, TLinkAddress, TLinkAddress, TLinkAddress)

Determines whether this instance first is to the left of second.

protected override bool FirstIsToTheLeftOfSecond(TLinkAddress firstSource, TLinkAddress firstTarget, TLinkAddress secondSource, TLinkAddress secondTarget)

Parameters

firstSource TLinkAddress

The first source.

firstTarget TLinkAddress

The first target.

secondSource TLinkAddress

The second source.

secondTarget TLinkAddress

The second target.

Returns

bool

The bool

FirstIsToTheRightOfSecond(TLinkAddress, TLinkAddress, TLinkAddress, TLinkAddress)

Determines whether this instance first is to the right of second.

protected override bool FirstIsToTheRightOfSecond(TLinkAddress firstSource, TLinkAddress firstTarget, TLinkAddress secondSource, TLinkAddress secondTarget)

Parameters

firstSource TLinkAddress

The first source.

firstTarget TLinkAddress

The first target.

secondSource TLinkAddress

The second source.

secondTarget TLinkAddress

The second target.

Returns

bool

The bool

GetBalance(TLinkAddress)

Gets the balance using the specified node.

protected override sbyte GetBalance(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

sbyte

The sbyte

GetBasePartValue(TLinkAddress)

Gets the base part value using the specified link.

protected override TLinkAddress GetBasePartValue(TLinkAddress link)

Parameters

link TLinkAddress

The link.

Returns

TLinkAddress

The link

GetLeft(TLinkAddress)

Gets the left using the specified node.

protected override TLinkAddress GetLeft(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

TLinkAddress

The link

GetLeftIsChild(TLinkAddress)

Determines whether this instance get left is child.

protected override bool GetLeftIsChild(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

bool

The bool

GetLeftReference(TLinkAddress)

Gets the left reference using the specified node.

protected override ref TLinkAddress GetLeftReference(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

TLinkAddress

The ref link

GetRight(TLinkAddress)

Gets the right using the specified node.

protected override TLinkAddress GetRight(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

TLinkAddress

The link

GetRightIsChild(TLinkAddress)

Determines whether this instance get right is child.

protected override bool GetRightIsChild(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

bool

The bool

GetRightReference(TLinkAddress)

Gets the right reference using the specified node.

protected override ref TLinkAddress GetRightReference(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

TLinkAddress

The ref link

GetSize(TLinkAddress)

Gets the size using the specified node.

protected override TLinkAddress GetSize(TLinkAddress node)

Parameters

node TLinkAddress

The node.

Returns

TLinkAddress

The link

GetTreeRoot()

Gets the tree root.

protected override TLinkAddress GetTreeRoot()

Returns

TLinkAddress

The link

SetBalance(TLinkAddress, sbyte)

Sets the balance using the specified node.

protected override void SetBalance(TLinkAddress node, sbyte value)

Parameters

node TLinkAddress

The node.

value sbyte

The value.

SetLeft(TLinkAddress, TLinkAddress)

Sets the left using the specified node.

protected override void SetLeft(TLinkAddress node, TLinkAddress left)

Parameters

node TLinkAddress

The node.

left TLinkAddress

The left.

SetLeftIsChild(TLinkAddress, bool)

Sets the left is child using the specified node.

protected override void SetLeftIsChild(TLinkAddress node, bool value)

Parameters

node TLinkAddress

The node.

value bool

The value.

SetRight(TLinkAddress, TLinkAddress)

Sets the right using the specified node.

protected override void SetRight(TLinkAddress node, TLinkAddress right)

Parameters

node TLinkAddress

The node.

right TLinkAddress

The right.

SetRightIsChild(TLinkAddress, bool)

Sets the right is child using the specified node.

protected override void SetRightIsChild(TLinkAddress node, bool value)

Parameters

node TLinkAddress

The node.

value bool

The value.

SetSize(TLinkAddress, TLinkAddress)

Sets the size using the specified node.

protected override void SetSize(TLinkAddress node, TLinkAddress size)

Parameters

node TLinkAddress

The node.

size TLinkAddress

The size.

See Also