Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetLinearFilteredRecords()

int[] System.Data.Select.GetLinearFilteredRecords ( Range range)
inlineprivate

Definition at line 781 of file Select.cs.

782 {
783 if (_linearExpression == null)
784 {
785 int[] array = new int[range.Count];
786 RBTree<int>.RBTreeEnumerator enumerator = _index.GetEnumerator(range.Min);
787 for (int i = 0; i < range.Count; i++)
788 {
789 if (!enumerator.MoveNext())
790 {
791 break;
792 }
793 array[i] = enumerator.Current;
794 }
795 return array;
796 }
797 List<int> list = new List<int>();
798 RBTree<int>.RBTreeEnumerator enumerator2 = _index.GetEnumerator(range.Min);
799 for (int j = 0; j < range.Count; j++)
800 {
801 if (!enumerator2.MoveNext())
802 {
803 break;
804 }
805 if (AcceptRecord(enumerator2.Current))
806 {
807 list.Add(enumerator2.Current);
808 }
809 }
810 return list.ToArray();
811 }
RBTree< int >.RBTreeEnumerator GetEnumerator(int startIndex)
Definition Index.cs:366
int Add(K item)
Definition RBTree.cs:1225
bool AcceptRecord(int record)
Definition Select.cs:573
ExpressionNode _linearExpression
Definition Select.cs:35

References System.Data.Select._index, System.Data.Select._linearExpression, System.Data.Select.AcceptRecord(), System.Data.RBTree< K >.Add(), System.array, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Data.Index.GetEnumerator(), and System.list.

Referenced by System.Data.Select.SelectRows().