Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GroupJoinHashLookupBuilder.cs
Go to the documentation of this file.
3
5
6internal sealed class GroupJoinHashLookupBuilder<TElement, TOrderKey, THashKey> : HashLookupBuilder<IEnumerable<TElement>, int, THashKey>
7{
8 private struct GroupJoinBaseHashBuilder : IBaseHashBuilder<TElement, TOrderKey>
9 {
11
16
17 public bool Add(THashKey hashKey, TElement element, TOrderKey orderKey)
18 {
19 bool result = true;
22 {
25 result = false;
26 }
27 value.Add(element);
28 return result;
29 }
30 }
31
32 private sealed class GroupJoinHashLookup : GroupJoinHashLookup<THashKey, TElement, ListChunk<TElement>, int>
33 {
34 protected override int EmptyValueKey => -559038737;
35
40
42 {
43 return new Pair<IEnumerable<TElement>, int>(baseValue, -559038737);
44 }
45 }
46
48
50
56
63}
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
void Add(TKey key, TValue value)
GroupJoinHashLookup(HashLookup< THashKey, ListChunk< TElement > > lookup)
override Pair< IEnumerable< TElement >, int > CreateValuePair(ListChunk< TElement > baseValue)
readonly IEqualityComparer< THashKey > _keyComparer
override HashJoinHashLookup< THashKey, IEnumerable< TElement >, int > BuildHashLookup(CancellationToken cancellationToken)
readonly QueryOperatorEnumerator< Pair< TElement, THashKey >, TOrderKey > _dataSource
GroupJoinHashLookupBuilder(QueryOperatorEnumerator< Pair< TElement, THashKey >, TOrderKey > dataSource, IEqualityComparer< THashKey > keyComparer)
bool Add(THashKey hashKey, TElement element, TOrderKey orderKey)
GroupJoinBaseHashBuilder(HashLookup< THashKey, ListChunk< TElement > > baseLookup)