35 internal HashJoinQueryOperatorEnumerator(
QueryOperatorEnumerator<
Pair<TLeftInput, THashKey>, TLeftKey> leftSource,
HashLookupBuilder<TRightInput, TRightKey, THashKey> rightLookupBuilder, Func<TLeftInput, TRightInput, TOutput>
resultSelector,
HashJoinOutputKeyBuilder<TLeftKey, TRightKey, TOutputKey> outputKeyBuilder,
CancellationToken cancellationToken)
44 internal override bool MoveNext([MaybeNullWhen(
false)][AllowNull] ref TOutput currentElement, [AllowNull] ref TOutputKey currentKey)
55 mutables._currentRightMatches = currentRightMatches.
Next;
56 mutables._currentRightMatchesIndex = 0;
61 TLeftKey currentKey2 =
default(TLeftKey);
62 while (
_leftSource.MoveNext(ref currentElement2, ref currentKey2))
73 mutables._currentRightMatches =
value.Tail;
74 mutables._currentRightMatchesIndex = 0;
77 if (
value.Tail !=
null)
79 mutables._currentLeft =
first;
80 mutables._currentLeftKey = currentKey2;
94 protected override void Dispose(
bool disposing)
bool TryGetValue(THashKey key, ref HashLookupValueList< TElement, TOrderKey > value)
HashJoinHashLookup< THashKey, TRightInput, TRightKey > _rightHashLookup
int _currentRightMatchesIndex
ListChunk< Pair< TRightInput, TRightKey > > _currentRightMatches
override bool MoveNext([MaybeNullWhen(false)][AllowNull] ref TOutput currentElement, [AllowNull] ref TOutputKey currentKey)
readonly Func< TLeftInput, TRightInput, TOutput > _resultSelector
readonly QueryOperatorEnumerator< Pair< TLeftInput, THashKey >, TLeftKey > _leftSource
readonly CancellationToken _cancellationToken
readonly HashJoinOutputKeyBuilder< TLeftKey, TRightKey, TOutputKey > _outputKeyBuilder
readonly HashLookupBuilder< TRightInput, TRightKey, THashKey > _rightLookupBuilder
HashJoinQueryOperatorEnumerator(QueryOperatorEnumerator< Pair< TLeftInput, THashKey >, TLeftKey > leftSource, HashLookupBuilder< TRightInput, TRightKey, THashKey > rightLookupBuilder, Func< TLeftInput, TRightInput, TOutput > resultSelector, HashJoinOutputKeyBuilder< TLeftKey, TRightKey, TOutputKey > outputKeyBuilder, CancellationToken cancellationToken)
override void Dispose(bool disposing)
HashJoinHashLookup< THashKey, TElement, TOrderKey > BuildHashLookup(CancellationToken cancellationToken)
ListChunk< TInputOutput > Next
void ThrowIfCancellationRequested()