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

◆ GetLinearFilteredRows()

DataRow[] System.Data.Select.GetLinearFilteredRows ( Range range)
inlineprivate

Definition at line 813 of file Select.cs.

814 {
815 if (_linearExpression == null)
816 {
817 return _index.GetRows(range);
818 }
820 RBTree<int>.RBTreeEnumerator enumerator = _index.GetEnumerator(range.Min);
821 for (int i = 0; i < range.Count; i++)
822 {
823 if (!enumerator.MoveNext())
824 {
825 break;
826 }
827 if (AcceptRecord(enumerator.Current))
828 {
830 }
831 }
832 DataRow[] array = _table.NewRowArray(list.Count);
833 list.CopyTo(array);
834 return array;
835 }
DataRow[] NewRowArray(int size)
readonly RecordManager _recordManager
Definition DataTable.cs:74
RBTree< int >.RBTreeEnumerator GetEnumerator(int startIndex)
Definition Index.cs:366
DataRow[] GetRows(object[] values)
Definition Index.cs:611
int Add(K item)
Definition RBTree.cs:1225
bool AcceptRecord(int record)
Definition Select.cs:573
ExpressionNode _linearExpression
Definition Select.cs:35
readonly DataTable _table
Definition Select.cs:19

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

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