Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GroupJoinHashLookup.cs
Go to the documentation of this file.
2
4
5internal abstract class GroupJoinHashLookup<THashKey, TElement, TBaseElement, TOrderKey> : HashJoinHashLookup<THashKey, IEnumerable<TElement>, TOrderKey>
6{
8
9 protected abstract TOrderKey EmptyValueKey { get; }
10
15
17 {
18 Pair<IEnumerable<TElement>, TOrderKey> valueList = GetValueList(key);
19 value = new HashLookupValueList<IEnumerable<TElement>, TOrderKey>(valueList.First, valueList.Second);
20 return true;
21 }
22
24 {
27 {
28 return CreateValuePair(value);
29 }
30 return new Pair<IEnumerable<TElement>, TOrderKey>(ParallelEnumerable.Empty<TElement>(), EmptyValueKey);
31 }
32
34}
Pair< IEnumerable< TElement >, TOrderKey > CreateValuePair(TBaseElement baseValue)
override bool TryGetValue(THashKey key, ref HashLookupValueList< IEnumerable< TElement >, TOrderKey > value)
GroupJoinHashLookup(HashLookup< THashKey, TBaseElement > baseLookup)
readonly HashLookup< THashKey, TBaseElement > _base
Pair< IEnumerable< TElement >, TOrderKey > GetValueList(THashKey key)
bool TryGetValue(TKey key, [MaybeNullWhen(false)][AllowNull] ref TValue value)
Definition HashLookup.cs:55