public GroupByOperator( ref TCollect collect, ref TKeySelector selector, ref TResSelector resSelector, ref TComparer comparer) { var keyGroupMeta = KeyGroupMeta <TKey, TRes, TComparer> .Create(ref comparer); keyGroupMeta.Fill <TCollect, T, TKeySelector, TResSelector>(ref collect, ref selector, ref resSelector); _enumerator = keyGroupMeta.GetEnumerator(); }
public GroupJoinOperator( ref TCollect collect, ref TSecond second, ref TSelector selector, ref TSelector2 selector2, ref TResSelector resSelector, ref TComparer comparer) { _collect = collect; _selector = selector; _resSelector = resSelector; _keyGroupMeta = KeyGroupMeta <TKey, T2, TComparer> .Create(ref comparer); _keyGroupMeta.Fill(ref second, ref selector2); _indexVal = -1; _item = default(TRes); }
public JoinOperator( ref TCollect collect, ref TSecond second, ref TSelector selector, ref TSelector2 selector2, ref TResSelector resSelector, ref TComparer comparer) { _collect = collect; _selector = selector; _resSelector = resSelector; _keyGroupMeta = KeyGroupMeta <TKey, T2, TComparer> .Create(ref comparer); _keyGroupMeta.Fill(ref second, ref selector2); _buffIndex = -1; _indexVal = -1; _item = default(TRes); _nowGetFromBuff = false; _curBuff = default(GroupBuffer <T2>); _itemForCombine = default(T); }