Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DodSequenceMerge.cs
Go to the documentation of this file.
4
6
8public struct DodSequenceMerge
9{
11
13
14 private int _nodeCount;
15
17
19 {
20 _firstSequence = null;
21 _sequencesToMerge = null;
22 _nodeCount = 0;
24 }
25
27 {
28 if (sequence.Count == 0)
29 {
30 return;
31 }
32 if (_firstSequence == null)
33 {
35 return;
36 }
37 if (_sequencesToMerge == null)
38 {
42 }
45 }
46
72
74 {
75 if (sequence.MoveNext())
76 {
78 }
79 }
80
82 {
83 for (int num = _sequencesToMerge.Count - 1; num >= 0; num--)
84 {
85 switch (_runtime.ComparePosition(sequence.Current, _sequencesToMerge[num].Current))
86 {
87 case -1:
89 return;
90 case 0:
91 if (!sequence.MoveNext())
92 {
93 return;
94 }
95 break;
96 }
97 }
99 }
100}
void Add(TKey key, TValue value)
void Insert(int index, T item)
Definition List.cs:650
void RemoveAt(int index)
Definition List.cs:824
static new readonly XmlQueryNodeSequence Empty
int ComparePosition(XPathNavigator navigatorThis, XPathNavigator navigatorThat)
void MoveAndInsertSequence(IEnumerator< XPathNavigator > sequence)
List< IEnumerator< XPathNavigator > > _sequencesToMerge
void AddSequence(IList< XPathNavigator > sequence)
void Create(XmlQueryRuntime runtime)
void InsertSequence(IEnumerator< XPathNavigator > sequence)
IList< XPathNavigator > MergeSequences()