Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
CachingComparerWithChild.cs
Go to the documentation of this file.
2
3namespace System.Linq;
4
5internal sealed class CachingComparerWithChild<TElement, TKey> : CachingComparer<TElement, TKey>
6{
8
14
15 internal override int Compare(TElement element, bool cacheLower)
16 {
17 TKey val = _keySelector(element);
19 if (num == 0)
20 {
21 return _child.Compare(element, cacheLower);
22 }
23 if (cacheLower == num < 0)
24 {
25 _lastKey = val;
26 _child.SetElement(element);
27 }
28 return num;
29 }
30
31 internal override void SetElement(TElement element)
32 {
33 base.SetElement(element);
34 _child.SetElement(element);
35 }
36}
readonly CachingComparer< TElement > _child
override int Compare(TElement element, bool cacheLower)
CachingComparerWithChild(Func< TElement, TKey > keySelector, IComparer< TKey > comparer, bool descending, CachingComparer< TElement > child)
override void SetElement(TElement element)
readonly Func< TElement, TKey > _keySelector
void SetElement(TElement element)
readonly IComparer< TKey > _comparer
int Compare(TElement element, bool cacheLower)