5 internal delegate int ComparisonBySelector
<TKey
,TRow
>(TKey key
, TRow row
) where TRow
:DataRow
;
7 /// <summary>This method exists for LinqDataView to keep a level of abstraction away from the RBTree</summary>
8 internal Range FindRecords
<TKey
,TRow
>(ComparisonBySelector
<TKey
,TRow
> comparison
, TKey key
) where TRow
:DataRow
10 int x
= _records
.root
;
11 while (IndexTree
.NIL
!= x
)
13 int c
= comparison(key
, (TRow
)_table
._recordManager
[_records
.Key(x
)]);
14 if (c
== 0) { break; }
15 if (c
< 0) { x = _records.Left(x); }
16 else { x = _records.Right(x); }
18 return GetRangeFromNode(x
);