2 instantiations of ConcatKey
System.Linq.Parallel (2)
System\Linq\Parallel\QueryOperators\Binary\ConcatQueryOperator.cs (2)
312return new ConcatKey<TLeftKey, TRightKey>(leftKey, default, isLeft: true); 317return new ConcatKey<TLeftKey, TRightKey>(default, rightKey, isLeft: false);
33 references to ConcatKey
System.Linq.Parallel (33)
System\Linq\Parallel\QueryOperators\Binary\ConcatQueryOperator.cs (13)
121IComparer<ConcatKey<TLeftKey, TRightKey>> comparer = ConcatKey<TLeftKey, TRightKey>.MakeComparer( 123var outputStream = new PartitionedStream<TSource, ConcatKey<TLeftKey, TRightKey>>(partitionCount, comparer, OrdinalIndexState); 158private sealed class ConcatQueryOperatorEnumerator<TLeftKey, TRightKey> : QueryOperatorEnumerator<TSource, ConcatKey<TLeftKey, TRightKey>> 187internal override bool MoveNext([MaybeNullWhen(false), AllowNull] ref TSource currentElement, ref ConcatKey<TLeftKey, TRightKey> currentKey) 199currentKey = ConcatKey<TLeftKey, TRightKey>.MakeLeft(leftKey); 209currentKey = ConcatKey<TLeftKey, TRightKey>.MakeRight(rightKey); 310internal static ConcatKey<TLeftKey, TRightKey> MakeLeft([AllowNull] TLeftKey leftKey) 315internal static ConcatKey<TLeftKey, TRightKey> MakeRight([AllowNull] TRightKey rightKey) 320internal static IComparer<ConcatKey<TLeftKey, TRightKey>> MakeComparer( 332private sealed class ConcatKeyComparer : IComparer<ConcatKey<TLeftKey, TRightKey>> 343public int Compare(ConcatKey<TLeftKey, TRightKey> x, ConcatKey<TLeftKey, TRightKey> y)
System\Linq\Parallel\QueryOperators\Binary\UnionQueryOperator.cs (20)
125IComparer<ConcatKey<TLeftKey, TRightKey>> compoundKeyComparer = 126ConcatKey<TLeftKey, TRightKey>.MakeComparer(leftHashStream.KeyComparer, rightHashStream.KeyComparer); 128PartitionedStream<TInputOutput, ConcatKey<TLeftKey, TRightKey>> outputStream = 129new PartitionedStream<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(partitionCount, compoundKeyComparer, OrdinalIndexState.Shuffled); 292private sealed class OrderedUnionQueryOperatorEnumerator<TLeftKey, TRightKey> : QueryOperatorEnumerator<TInputOutput, ConcatKey<TLeftKey, TRightKey>> 296private readonly IComparer<ConcatKey<TLeftKey, TRightKey>> _keyComparer; // Comparer for compound order keys. 298private IEnumerator<KeyValuePair<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>>>? _outputEnumerator; // Enumerator over the output of the union. 312bool leftOrdered, bool rightOrdered, IEqualityComparer<TInputOutput>? comparer, IComparer<ConcatKey<TLeftKey, TRightKey>> keyComparer, 333internal override bool MoveNext([MaybeNullWhen(false), AllowNull] ref TInputOutput currentElement, ref ConcatKey<TLeftKey, TRightKey> currentKey) 341Dictionary<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>> union = 342new Dictionary<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>>(wrapperComparer); 353ConcatKey<TLeftKey, TRightKey> key = 354ConcatKey<TLeftKey, TRightKey>.MakeLeft(_leftOrdered ? leftKey : default); 355Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> oldEntry; 360union[wrappedElem] = new Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(elem.First, key); 370ConcatKey<TLeftKey, TRightKey> key = 371ConcatKey<TLeftKey, TRightKey>.MakeRight(_rightOrdered ? rightKey : default); 372Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> oldEntry; 377union[wrappedElem] = new Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(elem.First, key); 386Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> current = _outputEnumerator.Current.Value;