Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }