CUtlRBTree
Struct CUtlRBTree
Namespace: SwiftlyS2.Shared.Natives
Assembly: SwiftlyS2.CS2.dll
public struct CUtlRBTree<TValue, TKey> : IDisposable where TKey : unmanaged, IBinaryInteger<TKey>, IMinMaxValue<TKey>Type Parameters
- TValue
- TKey
Implements
Inherited Members
- object.Equals(object?)
- object.Equals(object?, object?)
- object.GetHashCode()
- object.GetType()
- object.ReferenceEquals(object?, object?)
- object.ToString()
Constructors
CUtlRBTree(TKey, TKey, LessFunc)
public CUtlRBTree(TKey growSize, TKey initSize, CUtlRBTree<TValue, TKey>.LessFunc func)Parameters
- growSize TKey
- initSize TKey
- func CUtlRBTree<TValue, TKey>.LessFunc
CUtlRBTree(LessFunc)
public CUtlRBTree(CUtlRBTree<TValue, TKey>.LessFunc func)Parameters
Fields
Elements
public CUtlLeanVector<CUtlRBTreeNode<TKey, TValue>, TKey> ElementsField Value
FirstFree
public TKey FirstFreeField Value
- TKey
LFunc
public CUtlRBTree<TValue, TKey>.LessFunc LFuncField Value
LastAlloc
public CUtlLeanVector<CUtlRBTreeNode<TKey, TValue>, TKey>.Iterator_t LastAllocField Value
NumElements
public TKey NumElementsField Value
- TKey
Root
public TKey RootField Value
- TKey
Properties
Count
public uint Count { get; }Property Value
MaxElement
public TKey MaxElement { get; }Property Value
- TKey
this
public ref TValue this[TKey i] { get; }Property Value
- TValue
Methods
Color(TKey)
public NodeColor_t Color(TKey i)Parameters
- i TKey
Returns
Depth()
public int Depth()Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()EnsureCapacity(TKey)
public void EnsureCapacity(TKey num)Parameters
- num TKey
Find(TValue)
public TKey Find(TValue value)Parameters
- value TValue
Returns
- TKey
FirstInorder()
public TKey FirstInorder()Returns
- TKey
FirstPostorder()
public TKey FirstPostorder()Returns
- TKey
FirstPreorder()
public TKey FirstPreorder()Returns
- TKey
FreeNode(TKey)
public void FreeNode(TKey i)Parameters
- i TKey
Insert(TValue)
public TKey Insert(TValue val)Parameters
- val TValue
Returns
- TKey
InsertAt(TKey, bool)
public TKey InsertAt(TKey parent, bool leftchild)Parameters
- parent TKey
- leftchild bool
Returns
- TKey
InsertIfNotFound(TValue)
public TKey InsertIfNotFound(TValue val)Parameters
- val TValue
Returns
- TKey
InsertRebalance(TKey)
public void InsertRebalance(TKey elem)Parameters
- elem TKey
InvalidIndex()
public TKey InvalidIndex()Returns
- TKey
IsBlack(TKey)
public bool IsBlack(TKey i)Parameters
- i TKey
Returns
IsLeaf(TKey)
public bool IsLeaf(TKey i)Parameters
- i TKey
Returns
IsLeftChild(TKey)
public bool IsLeftChild(TKey i)Parameters
- i TKey
Returns
IsRed(TKey)
public bool IsRed(TKey i)Parameters
- i TKey
Returns
IsRightChild(TKey)
public bool IsRightChild(TKey i)Parameters
- i TKey
Returns
IsRoot(TKey)
public bool IsRoot(TKey i)Parameters
- i TKey
Returns
IsValid()
public bool IsValid()Returns
IsValidIndex(TKey)
public bool IsValidIndex(TKey i)Parameters
- i TKey
Returns
LastInorder()
public TKey LastInorder()Returns
- TKey
LastPreorder()
public TKey LastPreorder()Returns
- TKey
LeftChild(TKey)
public ref TKey LeftChild(TKey i)Parameters
- i TKey
Returns
- TKey
Link(TKey)
public void Link(TKey elem)Parameters
- elem TKey
LinkToParent(TKey, TKey, bool)
public void LinkToParent(TKey i, TKey parent, bool isLeft)Parameters
- i TKey
- parent TKey
- isLeft bool
Links(TKey)
public ref CUtlRBTreeLinks<TKey> Links(TKey i)Parameters
- i TKey
Returns
NewNode()
public TKey NewNode()Returns
- TKey
NextInorder(TKey)
public TKey NextInorder(TKey i)Parameters
- i TKey
Returns
- TKey
NextPostorder(TKey)
public TKey NextPostorder(TKey i)Parameters
- i TKey
Returns
- TKey
NextPreorder(TKey)
public TKey NextPreorder(TKey i)Parameters
- i TKey
Returns
- TKey
Parent(TKey)
public ref TKey Parent(TKey i)Parameters
- i TKey
Returns
- TKey
PrevInorder(TKey)
public TKey PrevInorder(TKey i)Parameters
- i TKey
Returns
- TKey
PrevPreorder(TKey)
public TKey PrevPreorder(TKey i)Parameters
- i TKey
Returns
- TKey
Purge()
public void Purge()Reinsert(TKey)
public void Reinsert(TKey i)Parameters
- i TKey
Remove(TValue)
public bool Remove(TValue value)Parameters
- value TValue
Returns
RemoveAll()
public void RemoveAll()RemoveAt(TKey)
public void RemoveAt(TKey elem)Parameters
- elem TKey
RemoveRebalance(TKey)
public void RemoveRebalance(TKey elem)Parameters
- elem TKey
RightChild(TKey)
public ref TKey RightChild(TKey i)Parameters
- i TKey
Returns
- TKey
RotateLeft(TKey)
public void RotateLeft(TKey elem)Parameters
- elem TKey
RotateRight(TKey)
public void RotateRight(TKey elem)Parameters
- elem TKey
SetColor(TKey, NodeColor_t)
public void SetColor(TKey i, NodeColor_t c)Parameters
- i TKey
- c NodeColor_t
SetLeftChild(TKey, TKey)
public void SetLeftChild(TKey i, TKey l)Parameters
- i TKey
- l TKey
SetLessFunc(LessFunc)
public void SetLessFunc(CUtlRBTree<TValue, TKey>.LessFunc func)Parameters
SetParent(TKey, TKey)
public void SetParent(TKey i, TKey p)Parameters
- i TKey
- p TKey
SetRightChild(TKey, TKey)
public void SetRightChild(TKey i, TKey r)Parameters
- i TKey
- r TKey
Unlink(TKey)
public void Unlink(TKey elem)Parameters
- elem TKey