public bool MoveNext() { if (InnerLookup.IsDefaultValue()) { InnerLookup = CommonImplementation.ToLookupImpl(ref Right, RightKeySelector); } while (Left.MoveNext()) { var cur = Left.Current; var curKey = LeftKeySelector(cur); if (curKey == null) { Current = ResultSelector(cur, EmptyCache <TKeyItem, TRightItem> .EmptyGrouped); return(true); } var forKey = InnerLookup[curKey]; var asGrouped = new GroupedEnumerable <TKeyItem, TRightItem>(ref forKey); Current = ResultSelector(cur, asGrouped); return(true); } return(false); }
public static System.Collections.Generic.LinkedList <TItem> LinkedList <TItem, TGroupedKey>(GroupedEnumerable <TGroupedKey, TItem> second) => LinkedListImpl <TItem, GroupedEnumerable <TGroupedKey, TItem>, GroupedEnumerator <TItem> >(ref second);
public static System.Collections.Generic.Stack <TItem> Stack <TItem, TGroupedKey>(GroupedEnumerable <TGroupedKey, TItem> second) => StackImpl <TItem, GroupedEnumerable <TGroupedKey, TItem>, GroupedEnumerator <TItem> >(ref second);