2 instantiations of ConcatKey
System.Core (2)
System\Linq\Parallel\QueryOperators\Unary\ConcatQueryOperator.cs (2)
320return new ConcatKey<TLeftKey, TRightKey>(leftKey, default(TRightKey), true); 325return new ConcatKey<TLeftKey, TRightKey>(default(TLeftKey), rightKey, false);
33 references to ConcatKey
System.Core (33)
System\Linq\Parallel\QueryOperators\Binary\UnionQueryOperator.cs (20)
129IComparer<ConcatKey<TLeftKey, TRightKey>> compoundKeyComparer = 130ConcatKey<TLeftKey, TRightKey>.MakeComparer(leftHashStream.KeyComparer, rightHashStream.KeyComparer); 132PartitionedStream<TInputOutput, ConcatKey<TLeftKey, TRightKey>> outputStream = 133new PartitionedStream<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(partitionCount, compoundKeyComparer, OrdinalIndexState.Shuffled); 304class OrderedUnionQueryOperatorEnumerator<TLeftKey, TRightKey> : QueryOperatorEnumerator<TInputOutput, ConcatKey<TLeftKey, TRightKey>> 308private IComparer<ConcatKey<TLeftKey, TRightKey>> m_keyComparer; // Comparer for compound order keys. 309private IEnumerator<KeyValuePair<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>>> m_outputEnumerator; // Enumerator over the output of the union. 322bool leftOrdered, bool rightOrdered, IEqualityComparer<TInputOutput> comparer, IComparer<ConcatKey<TLeftKey, TRightKey>> keyComparer, 348internal override bool MoveNext(ref TInputOutput currentElement, ref ConcatKey<TLeftKey, TRightKey> currentKey) 356Dictionary<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>> union = 357new Dictionary<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>>(wrapperComparer); 368ConcatKey<TLeftKey, TRightKey> key = 369ConcatKey<TLeftKey, TRightKey>.MakeLeft(m_leftOrdered ? leftKey : default(TLeftKey)); 370Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> oldEntry; 375union[wrappedElem] = new Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(elem.First, key); 385ConcatKey<TLeftKey, TRightKey> key = 386ConcatKey<TLeftKey, TRightKey>.MakeRight(m_rightOrdered ? rightKey : default(TRightKey)); 387Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> oldEntry; 392union[wrappedElem] = new Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>(elem.First, key); ; 401Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>> current = m_outputEnumerator.Current.Value;
System\Linq\Parallel\QueryOperators\Unary\ConcatQueryOperator.cs (13)
125IComparer<ConcatKey<TLeftKey, TRightKey>> comparer = ConcatKey<TLeftKey, TRightKey>.MakeComparer( 127var outputStream = new PartitionedStream<TSource, ConcatKey<TLeftKey, TRightKey>>(partitionCount, comparer, OrdinalIndexState); 162class ConcatQueryOperatorEnumerator<TLeftKey, TRightKey> : QueryOperatorEnumerator<TSource, ConcatKey<TLeftKey, TRightKey>> 192internal override bool MoveNext(ref TSource currentElement, ref ConcatKey<TLeftKey, TRightKey> currentKey) 204currentKey = ConcatKey<TLeftKey, TRightKey>.MakeLeft(leftKey); 214currentKey = ConcatKey<TLeftKey, TRightKey>.MakeRight(rightKey); 318internal static ConcatKey<TLeftKey, TRightKey> MakeLeft(TLeftKey leftKey) 323internal static ConcatKey<TLeftKey, TRightKey> MakeRight(TRightKey rightKey) 328internal static IComparer<ConcatKey<TLeftKey, TRightKey>> MakeComparer( 340private class ConcatKeyComparer : IComparer<ConcatKey<TLeftKey, TRightKey>> 351public int Compare(ConcatKey<TLeftKey, TRightKey> x, ConcatKey<TLeftKey, TRightKey> y)