Class LinksTargetsAvlBalancedTreeMethods<TLinkAddress>
Represents the links targets avl balanced tree methods.
public class LinksTargetsAvlBalancedTreeMethods<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>LinksAvlBalancedTreeMethodsBase<TLinkAddress>LinksTargetsAvlBalancedTreeMethods<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
LinksTargetsAvlBalancedTreeMethods(LinksConstants<TLinkAddress>, byte*, byte*)
Initializes a new LinksTargetsAvlBalancedTreeMethods<TLinkAddress> instance.
public LinksTargetsAvlBalancedTreeMethods(LinksConstants<TLinkAddress> constants, byte* links, byte* header)
Parameters
Methods
ClearNode(TLinkAddress)
Clears the node using the specified node.
protected override void ClearNode(TLinkAddress node)
Parameters
nodeTLinkAddressThe 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
firstSourceTLinkAddressThe first source.
firstTargetTLinkAddressThe first target.
secondSourceTLinkAddressThe second source.
secondTargetTLinkAddressThe 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
firstSourceTLinkAddressThe first source.
firstTargetTLinkAddressThe first target.
secondSourceTLinkAddressThe second source.
secondTargetTLinkAddressThe second target.
Returns
- bool
The bool
GetBalance(TLinkAddress)
Gets the balance using the specified node.
protected override sbyte GetBalance(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- sbyte
The sbyte
GetBasePartValue(TLinkAddress)
Gets the base part value using the specified link.
protected override TLinkAddress GetBasePartValue(TLinkAddress link)
Parameters
linkTLinkAddressThe link.
Returns
- TLinkAddress
The link
GetLeft(TLinkAddress)
Gets the left using the specified node.
protected override TLinkAddress GetLeft(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- TLinkAddress
The link
GetLeftIsChild(TLinkAddress)
Determines whether this instance get left is child.
protected override bool GetLeftIsChild(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- bool
The bool
GetLeftReference(TLinkAddress)
Gets the left reference using the specified node.
protected override ref TLinkAddress GetLeftReference(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- TLinkAddress
The ref link
GetRight(TLinkAddress)
Gets the right using the specified node.
protected override TLinkAddress GetRight(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- TLinkAddress
The link
GetRightIsChild(TLinkAddress)
Determines whether this instance get right is child.
protected override bool GetRightIsChild(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- bool
The bool
GetRightReference(TLinkAddress)
Gets the right reference using the specified node.
protected override ref TLinkAddress GetRightReference(TLinkAddress node)
Parameters
nodeTLinkAddressThe node.
Returns
- TLinkAddress
The ref link
GetSize(TLinkAddress)
Gets the size using the specified node.
protected override TLinkAddress GetSize(TLinkAddress node)
Parameters
nodeTLinkAddressThe 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
nodeTLinkAddressThe node.
valuesbyteThe value.
SetLeft(TLinkAddress, TLinkAddress)
Sets the left using the specified node.
protected override void SetLeft(TLinkAddress node, TLinkAddress left)
Parameters
nodeTLinkAddressThe node.
leftTLinkAddressThe left.
SetLeftIsChild(TLinkAddress, bool)
Sets the left is child using the specified node.
protected override void SetLeftIsChild(TLinkAddress node, bool value)
Parameters
nodeTLinkAddressThe node.
valueboolThe value.
SetRight(TLinkAddress, TLinkAddress)
Sets the right using the specified node.
protected override void SetRight(TLinkAddress node, TLinkAddress right)
Parameters
nodeTLinkAddressThe node.
rightTLinkAddressThe right.
SetRightIsChild(TLinkAddress, bool)
Sets the right is child using the specified node.
protected override void SetRightIsChild(TLinkAddress node, bool value)
Parameters
nodeTLinkAddressThe node.
valueboolThe value.
SetSize(TLinkAddress, TLinkAddress)
Sets the size using the specified node.
protected override void SetSize(TLinkAddress node, TLinkAddress size)
Parameters
nodeTLinkAddressThe node.
sizeTLinkAddressThe size.