Ficus 0.0.2

Edit this page

RRBFullNode<'T> Type

Constructors

Constructor Description

RRBFullNode(ownerToken, children)

Full Usage: RRBFullNode(ownerToken, children)

Parameters:
Returns: RRBFullNode<'T>
ownerToken : OwnerToken
children : RRBNode<'T>[]
Returns: RRBFullNode<'T>

Instance members

Instance member Description

this.AppendChild

Full Usage: this.AppendChild

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : RRBNode<'T>
Returns: RRBNode<'T>

this.AppendChildS

Full Usage: this.AppendChildS

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : RRBNode<'T>
arg3 : int
Returns: RRBNode<'T>

this.AppendLeaf

Full Usage: this.AppendLeaf

Parameters:
Returns: RRBNode<'T> * int
owner : OwnerToken
shift : int
newLeaf : RRBLeafNode<'T>
Returns: RRBNode<'T> * int

this.AppendNChildren

Full Usage: this.AppendNChildren

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : seq<RRBNode<'T>>
arg4 : bool
Returns: RRBNode<'T>

this.AppendNChildrenS

Full Usage: this.AppendNChildrenS

Parameters:
    arg0 : OwnerToken
    arg1 : int
    arg2 : int
    arg3 : seq<RRBNode<'T>>
    arg4 : seq<int>
    arg5 : bool

Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : seq<RRBNode<'T>>
arg4 : seq<int>
arg5 : bool
Returns: RRBNode<'T>

this.ApplyRebalancePlan

Full Usage: this.ApplyRebalancePlan

Parameters:
    owner : OwnerToken
    shift : int
    sizes : seq<int>
    mergeStart : int
    mergeLen : int
    sizeReduction : int
    childrenEnum : IEnumerator<RRBNode<'T>>

Returns: seq<RRBNode<'T>>
owner : OwnerToken
shift : int
sizes : seq<int>
mergeStart : int
mergeLen : int
sizeReduction : int
childrenEnum : IEnumerator<RRBNode<'T>>
Returns: seq<RRBNode<'T>>

this.ApplyRebalancePlanImpl

Full Usage: this.ApplyRebalancePlanImpl

Parameters:
    sizes : seq<int>
    mergeStart : int
    mergeLen : int
    sizeReduction : int
    childrenEnum : IEnumerator<RRBNode<'T>>
    getGrandChildren : RRBNode<'T> -> 'C[]
    mkChildNode : 'C[] -> RRBNode<'T>

Returns: seq<RRBNode<'T>>
sizes : seq<int>
mergeStart : int
mergeLen : int
sizeReduction : int
childrenEnum : IEnumerator<RRBNode<'T>>
getGrandChildren : RRBNode<'T> -> 'C[]
mkChildNode : 'C[] -> RRBNode<'T>
Returns: seq<RRBNode<'T>>

this.BuildSizeTable

Full Usage: this.BuildSizeTable

Parameters:
    shift : int
    count : int
    lastIdx : int

Returns: int[]
shift : int
count : int
lastIdx : int
Returns: int[]

this.Children

Full Usage: this.Children

Returns: RRBNode<'T>[]
Returns: RRBNode<'T>[]

this.ChildrenSeq

Full Usage: this.ChildrenSeq

Returns: seq<RRBNode<'T>>
Returns: seq<RRBNode<'T>>

this.ConcatNodes

Full Usage: this.ConcatNodes

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
right : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T> option

this.ConcatTwigsPlusLeaf

Full Usage: this.ConcatTwigsPlusLeaf

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
middle : RRBLeafNode<'T>
right : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T> option

this.ExpandRightSpine

Full Usage: this.ExpandRightSpine

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
shift : int
Returns: RRBNode<'T>

this.FirstChild

Full Usage: this.FirstChild

Returns: RRBNode<'T>
Returns: RRBNode<'T>

this.FullNodeIsTrulyFull

Full Usage: this.FullNodeIsTrulyFull

Parameters:
    shift : int

Returns: bool
shift : int
Returns: bool

this.HasRoomToMergeTheTail

Full Usage: this.HasRoomToMergeTheTail

Parameters:
Returns: bool
shift : 'a
tail : RRBLeafNode<'T>
right : RRBFullNode<'T>
Returns: bool

this.IndexesAndChild

Full Usage: this.IndexesAndChild

Parameters:
    arg0 : int
    arg1 : int

Returns: int * RRBNode<'T> * int
Modifiers: abstract
arg0 : int
arg1 : int
Returns: int * RRBNode<'T> * int

this.InsertAndSlideChildrenLeft

Full Usage: this.InsertAndSlideChildrenLeft

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
localIdx : int
newChild : RRBNode<'T>
leftSibling : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T>

this.InsertAndSlideChildrenRight

Full Usage: this.InsertAndSlideChildrenRight

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
localIdx : int
newChild : RRBNode<'T>
rightSibling : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T>

this.InsertAndSplitNode

Full Usage: this.InsertAndSplitNode

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
localIdx : int
newChild : RRBNode<'T>
Returns: RRBNode<'T> * RRBNode<'T>

this.InsertChild

Full Usage: this.InsertChild

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : RRBNode<'T>
Returns: RRBNode<'T>

this.InsertChildS

Full Usage: this.InsertChildS

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : RRBNode<'T>
arg4 : int
Returns: RRBNode<'T>

this.KeepNLeft

Full Usage: this.KeepNLeft

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T>

this.KeepNRight

Full Usage: this.KeepNRight

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T>

this.LastChild

Full Usage: this.LastChild

Returns: RRBNode<'T>
Returns: RRBNode<'T>

this.LeavesSeq

Full Usage: this.LeavesSeq

Parameters:
    shift : int

Returns: seq<RRBLeafNode<'T>>
shift : int
Returns: seq<RRBLeafNode<'T>>

this.LeftmostTwig

Full Usage: this.LeftmostTwig

Parameters:
    shift : int

Returns: RRBFullNode<'T>
shift : int
Returns: RRBFullNode<'T>

this.MakeLeftNodeForSplit

Full Usage: this.MakeLeftNodeForSplit

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : RRBNode<'T>[]
arg3 : int[]
Returns: RRBNode<'T>

this.MaybeExpand

Full Usage: this.MaybeExpand

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
Returns: RRBNode<'T>

this.MergeTree

Full Usage: this.MergeTree

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
tailOpt : RRBLeafNode<'T> option
rightShift : int
right : RRBFullNode<'T>
shouldKeepExpandedLeftNode : bool
Returns: RRBNode<'T> * RRBNode<'T> option

this.MkArrayForRebalance

Full Usage: this.MkArrayForRebalance

Parameters:
Returns: RRBNode<'T>[]
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T>[]

this.MkNodeForRebalance

Full Usage: this.MkNodeForRebalance

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : RRBNode<'T>[]
arg3 : int
Returns: RRBNode<'T>

this.NewParent

Full Usage: this.NewParent

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : RRBNode<'T>[]
Returns: RRBNode<'T>

this.NewPathL

Full Usage: this.NewPathL

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
endShift : int
leaf : RRBLeafNode<'T>
Returns: RRBNode<'T>

this.NewPathR

Full Usage: this.NewPathR

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
endShift : int
leaf : RRBLeafNode<'T>
Returns: RRBNode<'T>

this.PopLastLeaf

Full Usage: this.PopLastLeaf

Parameters:
Returns: RRBLeafNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
Returns: RRBLeafNode<'T> * RRBNode<'T>

this.PrependLeaf

Full Usage: this.PrependLeaf

Parameters:
Returns: RRBNode<'T> * int
owner : OwnerToken
shift : int
newLeaf : RRBLeafNode<'T>
Returns: RRBNode<'T> * int

this.PrependNChildren

Full Usage: this.PrependNChildren

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : seq<RRBNode<'T>>
Returns: RRBNode<'T>

this.PrependNChildrenS

Full Usage: this.PrependNChildrenS

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : seq<RRBNode<'T>>
arg4 : seq<int>
Returns: RRBNode<'T>

this.Rebalance

Full Usage: this.Rebalance

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
shift : int
Returns: RRBNode<'T>

this.Rebalance2

Full Usage: this.Rebalance2

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
right : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T> option

this.Rebalance2Plus1

Full Usage: this.Rebalance2Plus1

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
middle : RRBLeafNode<'T> option
right : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T> option

this.RebalanceImpl

Full Usage: this.RebalanceImpl

Parameters:
Returns: RRBNode<'T> * RRBNode<'T> option
owner : OwnerToken
shift : int
totalLength : int
childrenSeq : seq<RRBNode<'T>>
Returns: RRBNode<'T> * RRBNode<'T> option

this.RemoveChild

Full Usage: this.RemoveChild

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T>

this.RemoveLastChild

Full Usage: this.RemoveLastChild

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
Returns: RRBNode<'T>

this.RemoveLastLeaf

Full Usage: this.RemoveLastLeaf

Parameters:
Returns: RRBLeafNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
Returns: RRBLeafNode<'T> * RRBNode<'T>

this.ReplaceLastLeaf

Full Usage: this.ReplaceLastLeaf

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
shift : int
newLeaf : RRBLeafNode<'T>
sizeDiff : int
Returns: RRBNode<'T>

this.RevLeavesSeq

Full Usage: this.RevLeavesSeq

Parameters:
    shift : int

Returns: seq<RRBLeafNode<'T>>
shift : int
Returns: seq<RRBLeafNode<'T>>

this.RightmostTwig

Full Usage: this.RightmostTwig

Parameters:
    shift : int

Returns: RRBFullNode<'T>
shift : int
Returns: RRBFullNode<'T>

this.SafeChildrenArr

Full Usage: this.SafeChildrenArr

Returns: RRBNode<'T>[]
Modifiers: abstract
Returns: RRBNode<'T>[]

this.SlideChildrenLeft

Full Usage: this.SlideChildrenLeft

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
n : int
leftSibling : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T>

this.SlideChildrenRight

Full Usage: this.SlideChildrenRight

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>
owner : OwnerToken
shift : int
n : int
rightSibling : RRBFullNode<'T>
Returns: RRBNode<'T> * RRBNode<'T>

this.SplitAndKeepNLeft

Full Usage: this.SplitAndKeepNLeft

Parameters:
Returns: RRBNode<'T> * RRBNode<'T>[]
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T> * RRBNode<'T>[]

this.SplitAndKeepNLeftS

Full Usage: this.SplitAndKeepNLeftS

Parameters:
Returns: RRBNode<'T> * (RRBNode<'T>[] * int[])
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T> * (RRBNode<'T>[] * int[])

this.SplitAndKeepNRight

Full Usage: this.SplitAndKeepNRight

Parameters:
Returns: RRBNode<'T>[] * RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: RRBNode<'T>[] * RRBNode<'T>

this.SplitAndKeepNRightS

Full Usage: this.SplitAndKeepNRightS

Parameters:
Returns: (RRBNode<'T>[] * int[]) * RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
Returns: (RRBNode<'T>[] * int[]) * RRBNode<'T>

this.StringRepr

Full Usage: this.StringRepr

Returns: string
Returns: string

this.ToRelaxedNodeIfNeeded

Full Usage: this.ToRelaxedNodeIfNeeded

Parameters:
    arg0 : int

Returns: RRBNode<'T>
Modifiers: abstract
arg0 : int
Returns: RRBNode<'T>

this.TryAppendLeaf

Full Usage: this.TryAppendLeaf

Parameters:
Returns: RRBNode<'T> option
owner : OwnerToken
shift : int
newLeaf : RRBLeafNode<'T>
leafLen : int
Returns: RRBNode<'T> option

this.TryPrependLeaf

Full Usage: this.TryPrependLeaf

Parameters:
Returns: RRBNode<'T> option
owner : OwnerToken
shift : int
newLeaf : RRBLeafNode<'T>
leafLen : int
Returns: RRBNode<'T> option

this.UpdateChild

Full Usage: this.UpdateChild

Parameters:
Returns: RRBNode<'T>
owner : OwnerToken
shift : 'a
localIdx : int
newChild : RRBNode<'T>
Returns: RRBNode<'T>

this.UpdateChildSAbs

Full Usage: this.UpdateChildSAbs

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : RRBNode<'T>
arg4 : int
Returns: RRBNode<'T>

this.UpdateChildSRel

Full Usage: this.UpdateChildSRel

Parameters:
Returns: RRBNode<'T>
Modifiers: abstract
arg0 : OwnerToken
arg1 : int
arg2 : int
arg3 : RRBNode<'T>
arg4 : int
Returns: RRBNode<'T>

Static members

Static member Description

RRBFullNode.Create(ownerToken, children)

Full Usage: RRBFullNode.Create(ownerToken, children)

Parameters:
Returns: RRBFullNode<'T>
ownerToken : OwnerToken
children : RRBNode<'T>[]
Returns: RRBFullNode<'T>