SwiftlyS2

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

Constructors

CUtlRBTree(TKey, TKey, LessFunc)

public CUtlRBTree(TKey growSize, TKey initSize, CUtlRBTree<TValue, TKey>.LessFunc func)
Parameters

CUtlRBTree(LessFunc)

public CUtlRBTree(CUtlRBTree<TValue, TKey>.LessFunc func)
Parameters

Fields

Elements

public CUtlLeanVector<CUtlRBTreeNode<TKey, TValue>, TKey> Elements
Field Value

FirstFree

public TKey FirstFree
Field Value
  • TKey

LFunc

public CUtlRBTree<TValue, TKey>.LessFunc LFunc
Field Value

LastAlloc

public CUtlLeanVector<CUtlRBTreeNode<TKey, TValue>, TKey>.Iterator_t LastAlloc
Field Value

NumElements

public TKey NumElements
Field Value
  • TKey

Root

public TKey Root
Field 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

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

On this page