Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DescendantMergeIterator.cs
Go to the documentation of this file.
3
5
8{
9 private enum IteratorState
10 {
14 }
15
17
19
21
23
25
26 private bool _orSelf;
27
29
31 {
33 _state = IteratorState.NoPrevious;
35 }
36
38 {
39 if (_state != IteratorState.NeedDescendant)
40 {
41 if (input == null)
42 {
43 return IteratorResult.NoMoreNodes;
44 }
45 if (_state != 0 && _navRoot.IsDescendant(input))
46 {
47 return IteratorResult.NeedInputNode;
48 }
53 _state = IteratorState.NeedDescendant;
55 {
56 return IteratorResult.HaveCurrentNode;
57 }
58 }
60 {
61 return IteratorResult.HaveCurrentNode;
62 }
63 _state = IteratorState.NeedCurrent;
64 return IteratorResult.NeedInputNode;
65 }
66}
virtual bool IsDescendant([NotNullWhen(true)] XPathNavigator? nav)
bool IsFiltered(XPathNavigator navigator)
bool MoveToFollowing(XPathNavigator navigator, XPathNavigator navigatorEnd)
static XPathNavigator SyncToNavigator(XPathNavigator navigatorThis, XPathNavigator navigatorThat)
void Create(XmlNavigatorFilter filter, bool orSelf)
IteratorResult MoveNext(XPathNavigator input)