Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros
System.Collections.Immutable.SortedInt32KeyNode< TValue > Class Template Referencesealed

Classes

struct  Enumerator
 

Public Member Functions

Enumerator GetEnumerator ()
 

Package Functions

SortedInt32KeyNode< TValue > SetItem (int key, TValue value, IEqualityComparer< TValue > valueComparer, out bool replacedExistingValue, out bool mutated)
 
SortedInt32KeyNode< TValue > Remove (int key, out bool mutated)
 
TValue? GetValueOrDefault (int key)
 
bool TryGetValue (int key, [MaybeNullWhen(false)] out TValue value)
 
void Freeze (Action< KeyValuePair< int, TValue > >? freezeAction=null)
 

Static Package Attributes

static readonly SortedInt32KeyNode< TValue > EmptyNode = new SortedInt32KeyNode<TValue>()
 

Properties

bool IsEmpty [get]
 
int Height [get]
 
SortedInt32KeyNode< TValue >? Left [get]
 
SortedInt32KeyNode< TValue >? Right [get]
 
IBinaryTree? IBinaryTree. Left [get]
 
IBinaryTree? IBinaryTree. Right [get]
 
int IBinaryTree. Count [get]
 
KeyValuePair< int, TValue > Value [get]
 
IEnumerable< TValue > Values [get]
 

Private Member Functions

 SortedInt32KeyNode ()
 
 SortedInt32KeyNode (int key, TValue value, SortedInt32KeyNode< TValue > left, SortedInt32KeyNode< TValue > right, bool frozen=false)
 
SortedInt32KeyNode< TValue > SetOrAdd (int key, TValue value, IEqualityComparer< TValue > valueComparer, bool overwriteExistingValue, out bool replacedExistingValue, out bool mutated)
 
SortedInt32KeyNode< TValue > RemoveRecursive (int key, out bool mutated)
 
SortedInt32KeyNode< TValue > Mutate (SortedInt32KeyNode< TValue > left=null, SortedInt32KeyNode< TValue > right=null)
 

Static Private Member Functions

static SortedInt32KeyNode< TValue > RotateLeft (SortedInt32KeyNode< TValue > tree)
 
static SortedInt32KeyNode< TValue > RotateRight (SortedInt32KeyNode< TValue > tree)
 
static SortedInt32KeyNode< TValue > DoubleLeft (SortedInt32KeyNode< TValue > tree)
 
static SortedInt32KeyNode< TValue > DoubleRight (SortedInt32KeyNode< TValue > tree)
 
static int Balance (SortedInt32KeyNode< TValue > tree)
 
static bool IsRightHeavy (SortedInt32KeyNode< TValue > tree)
 
static bool IsLeftHeavy (SortedInt32KeyNode< TValue > tree)
 
static SortedInt32KeyNode< TValue > MakeBalanced (SortedInt32KeyNode< TValue > tree)
 

Private Attributes

readonly int _key
 
readonly TValue _value
 
bool _frozen
 
byte _height
 
SortedInt32KeyNode< TValue > _left
 
SortedInt32KeyNode< TValue > _right
 

Detailed Description

Definition at line 9 of file SortedInt32KeyNode.cs.


The documentation for this class was generated from the following file: