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